go的安装配置
安装
先到https://studygolang.com/dl
下载go安装包,下一步下一步傻瓜式操作。
配置GOPATH
配置GOPATH
sudo vi ~/.bash_profileexport GOPATH=$HOME/go/ // 配置GOPATHexport PATH=$PATH:$GOPATH/bin/ // 配置bin目录环境变量
go项目结构
在配置好的GOPATH
文件夹中新建三个目录:
- bin:用来存放编译后生成的可执行文件
- pkg:用来存放编译后生成的归档文件
- src:用来存放源代码
适合个人开发者的项目结构
当前流行的项目结构
适合企业开发者的项目结构
Hello World!
初学一门语言,最神圣的时刻一定是那个最经典的Hello World!
,首先在src下创建一个目录study
,然后创建一个main.go
的文件。
package main // 声明 main 包,表明当前是一个可执行程序import "fmt" // 导入内置 fmt 包func main(){ // main函数,是程序执行的入口 fmt.Println("Hello World!") // 在终端打印 Hello World!}
go build
go build
表示将源代码编译成可执行文件。
go build
或在其他目录下执行:
go build hello
go编译器会去 GOPATH的src目录下查找你要编译的hello项目,编译得到的可执行文件会保存在执行编译命令的当前目录下。
我们还可以使用-o
参数来指定编译后可执行文件的名字。 go build -o hello
go install
go install
表示安装的意思,它先编译源代码得到可执行文件,然后将可执行文件移动到GOPATH
的bin目录下。因为我们的环境变量中配置了GOPATH
下的bin目录,所以我们就可以在任意地方直接执行可执行文件了。
跨平台编译
默认我们go build
的可执行文件都是当前操作系统可执行的文件,如果我想在windows下编译一个linux下可执行文件,那需要怎么做呢?
只需要指定目标操作系统的平台和处理器架构即可:
SET CGO_ENABLED=0 // 禁用CGOSET GOOS=linux // 目标平台是linuxSET GOARCH=amd64 // 目标处理器架构是amd64
然后再执行go build
命令,得到的就是能够在Linux平台运行的可执行文件了。
Mac 下编译 Linux 和 Windows平台 64位 可执行程序:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go buildCGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Linux 下编译 Mac 和 Windows 平台64位可执行程序:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go buildCGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Windows下编译Mac平台64位可执行程序:
SET CGO_ENABLED=0SET GOOS=darwinSET GOARCH=amd64go build