Go语言介绍
与C和C++语言类似,Go语言是编译类型的语言。Go语言源程序经过Go编译器编译,生成独立的二进制ELF(Linux)/EXE(Windows) 格式的可执行文件,运行时不再需要Go源程序参与。
Go语言如何使用第三方模块
Go语言通过import语句引入第三方模块。示例代码:
package main
import (
tingyun "github.com/TingYunGo/goagent"
)
func RoutineID() int64 {
return tingyun.GetGID()
}
其中:tingyun 为引入模块的别名。
如果只是引入模块,并不直接使用模块的方法,那么引入模块的别名需要使用下划线 _
代替,否则Go编译器提示错误:
package main
import (
_ "github.com/TingYunGo/goagent"
)
Go语言第三方模块如何下载安装到本地
Go语言的所有第三方模块都是源代码形式发布到Git服务器上的。第三方模块的下载安装分为 GOPATH 模式和 GOMOD 模式两种情况。
GOPATH模式 : Go语言版本低于1.11,或者禁用了GOMOD(设置环境变量GO111MODULE=off)模式时,处于GOPATH模式。这种模式下,Go编译器检测GOPATH环境变量,在GOPATH环境变量指定的每个路径下根据名字查找第三方库。GOPATH未设置时,缺省值是当前用户的根路径下的 go 文件夹。 GOPATH模式下,第三方模块安装有两种方法:
自动安装: 使用命令
go get <第三方库路径>
。例如,安装基调听云Go探针:$ go get github.com/TingYunGo/goagent
命令执行后,会自动下载模块到GOPATH下的src/github.com/TingYunGo/goagent 目录下,并且递归下载该模块依赖的模块到相应目录。
手动安装: 在GOPATH下手动创建目录src/github.com/TingYunGo/goagent,并将代码复制到该文件夹下。
GOMOD模式:Go语言版本大于等于1.11,并且设置环境变量GO111MODULE=on时,处于GOMOD模式。 GOMOD 模式下,在Go应用的根路径下需要配置go.mod文件,主要内容为应用名、Go语言版本和依赖包及版本。 示例:
module http_example go 1.12 require ( github.com/TingYunGo/goagent v0.7.8 github.com/golang/protobuf v1.5.2 // indirect )
其中:
- http_example 是应用的名字。
- go 1.12:是要求Go版本不低于 v1.12。
- require:这部分指定依赖的第三方模块及对应的版本。
GOMOD模式下依赖包的下载:
- 使用命令
go mod tidy
,这个命令将自动检查当前应用的依赖并下载所有依赖包,并且校验依赖包的hash值,写入到go.sum文件。
Go语言应用如何编译
进入应用源代码路径,执行 go build
命令,即可生成应用的可执行文件。