Win10 + Golang1.14.2 + Go modules 開發環境搭建


一、安裝 golang

返回目錄

  1. 官網下載安裝包,安裝,一直下一步
  2. 環境變量自動設置好了,不用自己添加
  3. go version測試安裝是否成功,顯示版本號就成功了
    E:\>go version
    go version go1.13.5 windows/amd64
    

二、用 go modules 創建項目

返回目錄

  1. 開啓 go modules

    go env -w GO111MODULE=on #開啓 go modules
    
  2. 在任意路徑下(除GOPATH以外)創建項目目錄,並初始化go modules

    mkdir example
    cd example
    #go
    go mode init example
    # go1.14.2 之後版本改爲:
    go mode init example.com/example
    

    example.com 是示例域名,example 是該示例的項目名,可以換成其它的。

  3. 新建 hello.go 文件,並填入以下代碼

    package main
    
    import "fmt"
    
    func main() {
        fmt.Printf("hello, world\n")
    }
    
  4. 執行運行命令:

    go run hello.go
    

    輸出 hello world。表示項目創建成功。

  5. 引入第三方模塊

    //修改 hello.go
      package main
    	
      import (
        "fmt"
    +   "github.com/astaxie/beego" //第三方模塊
      )
    
      func main() {
        fmt.Printf("hello, world\n")
    +   beego.Run()
      }
    
  6. 手動安裝第三方包
    修改 go.mod 文件

      module example
    
      go 1.13
    
    + require github.com/astaxie/beego v1.12.0
    

    執行命令進行安裝

    go mod download #安裝第三方模塊
    
  7. 安裝第三方模塊(module)失敗,設置 goproxy 解決。

    go env -w GOPROXY=https://goproxy.io
    

    也可以設置阿里的鏡像 https://mirrors.aliyun.com/goproxy/

  8. 執行 run 或 build 命令,自動安裝第三方模塊(module)

    go build -o hello.exe hello.go #構建,安裝第三方模塊
    # 或者
    go run hello.go #運行,安裝第三方模塊
    

三、引用 import

1. 引用第三方模塊(module)

返回目錄
上面有涉及,略

2. 引用同包(package)內文件

返回目錄

  1. 一個文件夾內 最好存放 同一個 package 的代碼文件。
  2. package 的名稱最好與 文件夾名 相同。
  3. 同 package 名的代碼文件可以互相調用各自聲明的方法,不用引用,不區分方法名首字母大小寫。

3. 引用內部包(package)

返回目錄

  1. example 項目
      / example
    + |--/ lib
    + |  |-- lib1.go
      |-- go.mod
      |-- main.go
    
  2. / lib / lib1.go,內部包定義
    package lib
    
    import "fmt"
    
    func SayGoodbye() {
      fmt.Printf("Goodbye!\n")
    }
    
  3. main.go,引用內部 package
      package main
    
      import (
        "fmt"
    +   "example/lib" //引用內部包
    +   // lib "example/lib" //別名引用,
      )
    
      func main() {
        fmt.Printf("hello, world\n")
    +   lib.SayGoodbye() //調用內部包方法,只能調用首字母大寫的方法
      }
    
  4. 運行項目
    go run main.go
    

4. 引用外部開發中的模塊(module)

返回目錄

  1. 修改 go.mod
      module example
      
      go 1.14
    
    + require another v0.0.0
    
    + replace another v0.0.0 => ../another
    
  2. 修改 main.go
      package main
    
      import (
        "fmt"
    +   "another" //引用外部開發中的模塊
      )
    
      func main() {
        fmt.Printf("hello, world\n")
    +   another.Another() //調用外部模塊的方法,首字母大寫的方法
      }
    
  3. 執行 run 命令
    go run main.go
    

四、發佈 go module

返回目錄

  1. 新建個 go modules 項目。
  2. 不要用 main 命名 package,用模塊名命 package。
  3. 要暴露的 api 方法首字母大寫。
  4. 發佈到 github

五、安裝 go 額外的版本

返回目錄

  1. 執行命令
    go get golang.org/dl/go1.10.7 
    GOPATH/go1.10.7 download //下載 
    GOPATH/go1.10.7 version //驗證
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章