参考文献:https://www.liwenzhou.com/posts/Go/install/
安装GO编译器
官网下载
windows 64位选择可执行文件版即可;Linux平台下载压缩文件版
安装过程中出现的安装路径就是GOROOT的路径
GOROOT:就是安装GO编译器时选择的路径,我选择的是D:\Program Files\Go
检查安装成功
cmd中输入:go version
GOROOT和GOPath
GOROOT和GOPATH都是环境变量,其中GOROOT是我们安装go开发包的路径,而从Go 1.8版本开始,Go开发包在安装完成后会为GOPATH设置一个默认目录,并且在Go1.14及之后的版本中启用了Go Module模式之后,不一定非要将代码写到GOPATH目录下,所以也就不需要我们再自己配置GOPATH了,使用默认的即可。
GOPath:是默认工作目录;
在go v1.11之前,规定只能在gopath下写代码;现在开启go module就可以自由写了;
GOPROXY:由于第三方的依赖包我们下载不到;配置完后,就能够下载很多代码库;
在cmd中执行:go env -w GOPROXY=https://goproxy.cn,direct
想要永久生效的话,就在环境变量中去配置
go env
查看配置情况
GO开发编辑器
使用VS Code;
安装go扩展;
编写第一个GO程序
1、新建一个目录hello;在VS Code中打开;
2、在终端窗口中执行:go mod init 项目名 //对项目进行初始化,在项目根目录生成go.mod文件,新建的项目必须要执行,就可以在电脑任何位置写代码
这里的初始化项目中的项目也可以是代码托管平台的项目,比如go mod init gitee.com/kjk/hello //也就是说项目可以有域名
3、编写代码
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置 fmt 包
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
在此过程中,在VS COde右下角弹出安装插件,点击install all进行安装;(这里的安装工具都安装在了GOPath路径中)
4、编译:
go build //生成可执行文件;默认名hello.exe
go build -o 可执行文件名.exe
5、执行可执行文件
.\可执行文件名.exe //这里使用.\是因为终端使用的默认终端是powershell;换为cmd为默认终端直接输入可执行文件就可以运行;
6、go run 可执行文件名.go也可以执行程序,该命令本质上是先在临时目录编译程序然后再执行。
go install
go install表示安装的意思,它先编译源代码得到可执行文件,然后将可执行文件移动到GOPATH的bin目录下。因为我们把GOPATH下的bin目录添加到了环境变量中,所以我们就可以在任意地方直接执行可执行文件了。
在终端中执行的命令
执行过后就能够在GOPath中看到可执行文件已经被拷贝过去了
跨平台编译
windows写好的代码编译后的代码,可以在linux可以执行;类似这种叫做跨平台
windows编译linux可执行文件
如果我想在Windows下编译一个Linux下可执行文件,那需要怎么做呢?只需要在编译时指定目标操作系统的平台和处理器架构即可。
注意终端类型是cmd还是powershell;windows默认是powershell;
下面的命令操作都是在终端中输入命令的
在windows中使用的cmd的话:那么按如下方式指定环境变量
- SET CGO_ENABLED=0 // 禁用CGO
SET GOOS=linux // 目标平台是linux
SET GOARCH=amd64 // 目标处理器架构是amd64
如果你的Windows使用的是PowerShell终端,那么设置环境变量的语法为
- $ENV:CGO_ENABLED=0
$ENV:GOOS=“linux”
$ENV:GOARCH=“amd64”
在你的Windows终端下执行完上述命令后,再执行下面的命令,得到的就是能够在Linux平台运行的可执行文件了。
- go build