文章目录
一、安装 golang
- 从官网下载安装包,安装,一直下一步
- 环境变量自动设置好了,不用自己添加
- 用
go version
测试安装是否成功,显示版本号就成功了E:\>go version go version go1.13.5 windows/amd64
二、用 go modules 创建项目
-
开启 go modules
go env -w GO111MODULE=on #开启 go modules
-
在任意路径下(除GOPATH以外)创建项目目录,并初始化go modules
mkdir example cd example #go go mode init example # go1.14.2 之后版本改为: go mode init example.com/example
example.com 是示例域名,example 是该示例的项目名,可以换成其它的。
-
新建 hello.go 文件,并填入以下代码
package main import "fmt" func main() { fmt.Printf("hello, world\n") }
-
执行运行命令:
go run hello.go
输出 hello world。表示项目创建成功。
-
引入第三方模块
//修改 hello.go package main import ( "fmt" + "github.com/astaxie/beego" //第三方模块 ) func main() { fmt.Printf("hello, world\n") + beego.Run() }
-
手动安装第三方包
修改 go.mod 文件module example go 1.13 + require github.com/astaxie/beego v1.12.0
执行命令进行安装
go mod download #安装第三方模块
-
安装第三方模块(module)失败,设置 goproxy 解决。
go env -w GOPROXY=https://goproxy.io
也可以设置阿里的镜像 https://mirrors.aliyun.com/goproxy/
-
执行 run 或 build 命令,自动安装第三方模块(module)
go build -o hello.exe hello.go #构建,安装第三方模块 # 或者 go run hello.go #运行,安装第三方模块
三、引用 import
1. 引用第三方模块(module)
返回目录
上面有涉及,略
2. 引用同包(package)内文件
- 一个文件夹内 最好存放 同一个 package 的代码文件。
- package 的名称最好与 文件夹名 相同。
- 同 package 名的代码文件可以互相调用各自声明的方法,不用引用,不区分方法名首字母大小写。
3. 引用内部包(package)
- example 项目
/ example + |--/ lib + | |-- lib1.go |-- go.mod |-- main.go
- / lib / lib1.go,内部包定义
package lib import "fmt" func SayGoodbye() { fmt.Printf("Goodbye!\n") }
- main.go,引用内部 package
package main import ( "fmt" + "example/lib" //引用内部包 + // lib "example/lib" //别名引用, ) func main() { fmt.Printf("hello, world\n") + lib.SayGoodbye() //调用内部包方法,只能调用首字母大写的方法 }
- 运行项目
go run main.go
4. 引用外部开发中的模块(module)
- 修改 go.mod
module example go 1.14 + require another v0.0.0 + replace another v0.0.0 => ../another
- 修改 main.go
package main import ( "fmt" + "another" //引用外部开发中的模块 ) func main() { fmt.Printf("hello, world\n") + another.Another() //调用外部模块的方法,首字母大写的方法 }
- 执行 run 命令
go run main.go
四、发布 go module
- 新建个 go modules 项目。
- 不要用 main 命名 package,用模块名命 package。
- 要暴露的 api 方法首字母大写。
- 发布到 github
五、安装 go 额外的版本
- 执行命令
go get golang.org/dl/go1.10.7 GOPATH/go1.10.7 download //下载 GOPATH/go1.10.7 version //验证