GO基础
GOPATH在不同平台上的路径

GO项目结构
在进行Go语言开发的时候,我们的代码总是会保存在\(GOPATH/src目录下。在工程经过go build、go install或go get等指令后,会将下载的第三方包源代码文件放在\)GOPATH/src目录下, 产生的二进制可执行文件放在 \(GOPATH/bin目录下,生成的中间缓存文件会被保存在 \)GOPATH/pkg 下。
如果我们使用版本管理工具(Version Control System,VCS。常用如Git)来管理我们的项目代码时,我们只需要添加$GOPATH/src目录的源代码即可。bin 和 pkg 目录的内容无需版本控制。
目前主流的项目结构

第一个go程序
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置 fmt 包
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
go build表示将源代码编译成可执行文件,还可以使用-o参数来指定编译后可执行文件的名字。
go build hello
go编译器会去 GOPATH的src目录下查找要编译的hello项目
跨平台编译
需要指定目标操作系统的平台和处理器架构:
SET CGO_ENABLED=0 // 禁用CGO SET GOOS=linux // 目标平台是linux SET GOARCH=amd64 // 目标处理器架构是amd64
Mac 下编译 Linux 和 Windows平台 64位 可执行程序:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Linux 下编译 Mac 和 Windows 平台64位可执行程序:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Windows下PowerShell编译Linux平台64位可执行程序:
$ENV:CGO_ENABLED=0 $ENV:GOOS="linux" $ENV:GOARCH="amd64" go build
Windows下CMD编译Linux平台64位可执行程序:
SET CGO_ENABLED=0 // 禁用CGO SET GOOS=linux // 目标平台是linux SET GOARCH=amd64 // 目标处理器架构是amd64 go build