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 //验证
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章