下载地址

Go官方下载地址:https://golang.org/dl/

Go官方镜像站:https://golang.google.cn/dl/

GOPATH配置

GOPATH是一个环境变量,用来表明你写的go项目的存放路径(工作目录)。

GOPATH路径最好只设置一个,所有的项目代码都放到GOPATHsrc目录下。

补充说明:Go1.11版本之后,开启go mod模式之后就不再强制需要配置GOPATH了。

该工作目录下新建文件夹:

​ bin:用来存放编译后生成的可执行文件

​ pkg:用来存放编译后生成的归档文件

​ src:用于存放源码文件

GOPATH/bin配置到环境变量下,以后可直接执行go install命令生成的可执行文件。

Go项目结构

在进行Go语言开发的时候,我们的代码总是会保存在$GOPATH/src目录下。在工程经过go buildgo installgo get等指令后,会将下载的第三方包源代码文件放在$GOPATH/src目录下, 产生的二进制可执行文件放在 $GOPATH/bin目录下,生成的中间缓存文件会被保存在 $GOPATH/pkg 下。

  • 个人开发者

个人开发者

  • 目前流行的项目结构

    Go语言中也是通过包来组织代码文件,我们可以引用别人的包也可以发布自己的包,但是为了防止不同包的项目名冲突,我们通常使用顶级域名来作为包名的前缀,这样就不担心项目名冲突的问题了。

    流行

  • 公司

    公司

开发工具

VS Code

GoLand

第一个Go程序

1
2
3
4
5
6
7
8
package main // 申明 main 包,表名当前是一个可执行程序

import "fmt" // 导入内置 fmt 包

func main(){ // main 函数,程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}

基本命令

go build :将源码编译成可执行文件。运行时直接执行编译生成的文件即可(helloworld.exe)

go build -o a.exe :指定编译后得到的可执行文件名字。

go run main.go :直接执行go文件,得到结果,不会生成可执行文件。

go install :标是安装的意思,他先编译源代码得到可执行的文件,然后将可执行的文件移动到GOPATH的bin目录下。因为我们的环境变量中配置了GOPATH下的bin目录,所以我们就可以在任意地方直接执行可执行文件了。

跨平台编译

在Windows下生成linux平台的可执行文件。

1
2
3
4
SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux // 目标平台是linux
SET GOARCH=amd64 // 目标处理器架构是amd64
go build // 即可得到linux平台下的可执行文件。

Windows下编译Mac平台64位可执行程序:

1
2
3
4
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build

Mac 下编译 Linux 和 Windows平台 64位 可执行程序:

1
2
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

Linux 下编译 Mac 和 Windows 平台64位可执行程序:

1
2
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build