搭建Go开发环境
1. Mac系统
1.1 下载 & 安装
去官网下载安装包。 地址:https://golang.google.cn/
双击已下载的 pkg 文件,点击【继续】直到安装成功。 默认安装目录:/usr/local/go
至此,Go编译器就快速安装成功了。
编译器安装成功之后,在终端用 go 相关命令
可以让编译器做一些事情(具体可以往后看)。
1.2 配置
为了开发项目方便和规范,在编译器安装成功之后,需要做如下几项配置:
-
配置Go代码目录结构,为了方便管理以后自己开发的Go项目代码,在自己硬盘上最好为Go先做写目录结构的处理。
-
第一步:创建一个文件夹用于存储以后的GO代码。
例如:在 /Users/bear/ 目录下去新建一个文件夹为 GolangProjects
-
第二步:进入刚新建的文件夹,在内部再创建
bin
、pkg
、src
3个文件夹。/Users/bear/GolangProjects/ ├── bin,用于存放编译后的可执行文件。 ├── pkg,用于存放编译后的包文件。 └── src,我们以后写的go项目代码都写到这里去,在内部为每个项目创建一个文件夹。
-
-
配置系统环境变量,将go编译器的路径添加到系统环境变量,之后在终端go命令可直接调用go编译器。(安装时默认已执行)
# 在终端执行命令 export PATH=编译器安装目录/bin:$PATH export PATH=/usr/local/go/bin:$PATH
-
配置Go安装目录,即:Go源码目录,用于调用go相关源码。
# 在终端执行命令 export GOROOT=编译器安装目录 export GOROOT=/usr/local/go
-
配置Go项目代码相关目录,将你以后写的go代码及其编译生成的文件存放的目录。
# 在终端执行命令 export GOPATH=放置Go代码的相关目录 export GOPATH=/Users/bear/GolangProjects
-
配置Go编译文件目录,Go是个编译型语言,当使用go install命令对代码进行编译时,可执行文件会生成到这个目录。
# 在终端执行命令 export GOBIN=放置Go编译文件的目录 export GOBIN=/Users/bear/GolangProjects/bin
-
最后,执行命令让刚才配置的那些 环境变量 立即生效
source /etc/profile
使用上述方式只是临时修改环境变量,如果想要永久修改环境变量,可以把环境变量添加到 .bash_profile 文件中。即:vim ~/.bash_profile
打开文件并写入如下内容。
export PATH=/usr/local/go/bin:$PATH
export GOROOT=/usr/local/go
export GOPATH=/Users/bear/GolangProjects
export GOBIN=/Users/bear/GolangProjects/bin
这样环境变量就永久有效了。
1.3 写代码
在 GOPATH 下的 src 目录中创建一个 文件夹(项目)
,进入文件夹并创建一个以.go
为后缀名的文件(如 first.go),并在first.go文件中写入go代码。
/Users/bear/GolangProjects/├── bin├── pkg└── src └── day01,项目 └── first.go,项目中的文件
// first.go 文件中的代码内容如下package mainimport "fmt"func main() { // 调用Println函数在屏幕输出:叫爸爸 fmt.Println("叫爸爸")}
1.4 运行代码
编译器安装完成并且代码也写好之后,就可以使用Go编译器去运行代码了。
Go编译器提供了3种方式让我们来运行自己编写的go程序代码。
-
方式一:
go run
,compile and run Go program ,其内部会【先编译】代码文件【再运行】(二合一)。 -
方式二:
go build
,compile packages and dependencies,其内部就是将go代码进行编译,然后手动执行。 -
方式三:
go install
,compile and install packages and dependencies,其内部就是编译go代码,并将可执行文件/包文件分别放到 bin 和 pkg目录。
至此,Mac系统上进行Go编译器的安装就完成了。
2.Goland
2.1 快速使用
2.2 常见配置
1.参数建议
你的Goland在编写代码时,可能会在代码发现一些 a...:
等标记,这其实是Goland为你提供的参数的注解,如果不想展示,则可以修改Goland的配置实现。
3.项目结构
在进行Go语言开发的时候,我们的代码总是会保存在$GOPATH/src
目录下。在工程经过go build
、go install
或go get
等指令后,会将下载的第三方包源代码文件放在$GOPATH/src
目录下, 产生的二进制可执行文件放在 $GOPATH/bin
目录下,生成的中间缓存文件会被保存在 $GOPATH/pkg
下。
如果我们使用版本管理工具(Version Control System,VCS。常用如Git)来管理我们的项目代码时,我们只需要添加$GOPATH/src
目录的源代码即可。bin
和 pkg
目录的内容无需版本控制。
3.1 适合个人开发者
我们知道源代码都是存放在GOPATH
的src
目录下,那我们可以按照下图来组织我们的代码。
举个例子:张三和李四都有一个名叫studygo
的项目,那么这两个包的路径就会是:
import "github.com/zhangsan/studygo"
和
import "github.com/lisi/studygo"
以后我们从github上下载别人包的时候,如:
go get github.com/jmoiron/sqlx
那么,这个包会下载到我们本地GOPATH
目录下的src/github.com/jmoiron/sqlx
。
3.2 适合企业开发场景
4.第一个Go程序
4.1 Hello World
现在我们来创建第一个Go项目——hello
。在我们的GOPATH
下的src目录中创建hello目录。
在该目录中创建一个main.go
文件:
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置 fmt 包
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
4.2 跨平台编译
默认我们go build
的可执行文件都是当前操作系统可执行的文件,如果我想在windows下编译一个linux下可执行文件,那需要怎么做呢?
只需要指定目标操作系统的平台和处理器架构即可:
SET CGO_ENABLED=0 // 禁用CGO
SET GOOS=linux // 目标平台是linux
SET GOARCH=amd64 // 目标处理器架构是amd64
使用了cgo的代码是不支持跨平台编译的
然后再执行go build
命令,得到的就是能够在Linux平台运行的可执行文件了。
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下编译Mac平台64位可执行程序:
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build