搭建Go开发环境

1. Mac系统

1.1 下载 & 安装

去官网下载安装包。 地址:https://golang.google.cn/

image-20210818133116235

双击已下载的 pkg 文件,点击【继续】直到安装成功。 默认安装目录:/usr/local/go

image-20210818102800467

image-20210818113807175

至此,Go编译器就快速安装成功了。

编译器安装成功之后,在终端用 go 相关命令 可以让编译器做一些事情(具体可以往后看)。

1.2 配置

为了开发项目方便和规范,在编译器安装成功之后,需要做如下几项配置:

使用上述方式只是临时修改环境变量,如果想要永久修改环境变量,可以把环境变量添加到 .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程序代码。

至此,Mac系统上进行Go编译器的安装就完成了。


2.Goland

2.1 快速使用

image-20210818133316308

image-20210818133544210

image-20210818133925395

2.2 常见配置

1.参数建议

你的Goland在编写代码时,可能会在代码发现一些 a...: 等标记,这其实是Goland为你提供的参数的注解,如果不想展示,则可以修改Goland的配置实现。

image-20210818134129464


3.项目结构

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

如果我们使用版本管理工具(Version Control System,VCS。常用如Git)来管理我们的项目代码时,我们只需要添加$GOPATH/src目录的源代码即可。binpkg 目录的内容无需版本控制。

3.1 适合个人开发者

我们知道源代码都是存放在GOPATHsrc目录下,那我们可以按照下图来组织我们的代码。

image-20210818173334292

举个例子:张三和李四都有一个名叫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 适合企业开发场景

image-20210818173519463


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