Skip to main content
Version: go

常用

go

go help build

bug

# 直接打开默认浏览器,显示go的github页面进行bug报告,并会自动添加系统的信息。
go bug

build

# 编译指定的源码文件或代码包及依赖包
go build

go build -o main.exe

# 当前有 main.go
go build main2.go

# 底层
go build -n main.go

install

# 多一步安装编译后的文件到指定目录
go install main.go

get

# 动态获取远程代码包及其依赖包,并进行编译和安装
go get github.com/PuerkitoBio/goquery

mod

go modules的简写,用于对go包的管理

GO111MODULE=on

go mod init my

run

用于编译并运行源码文件

go run zarten.go

clean

删除执行其他命令时产生的文件或目录

go clean -i -n

fmt

# 检查并格式化成go语言的规范格式
gofmt -l my

gofmt zarten.go

gofmt -w zarten.go

list

# 列出当前安装包
go list

version

# 查看当前go的版本

go version

env

# 查看当前go的环境变量

go env

交叉编译各大平台命令

有时我们需要在某一平台编译出其他平台的可执行文件,go语言也提供了相关的命令或配置

在Mac平台编译:

  • Linux
CGO_ENABLED=0  GOOS=linux  GOARCH=amd64  go build main.go
  • Windows
CGO_ENABLED=0 GOOS=windows  GOARCH=amd64  go  build  main.go

在Linux平台编译:

  • Mac
CGO_ENABLED=0 GOOS=darwin  GOARCH=amd64  go build main.go
  • Windows
CGO_ENABLED=0 GOOS=windows  GOARCH=amd64  go build main.go

在Windows平台编译:

  • Mac
SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 go build main.go

或写成批处理

SET  CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build main.go
  • Linux
SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build main.go

或写成批处理

SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build main.go

在Goland中的设置交叉编译

例如编译在linux下的程序设置:

GOARCH=amd64;GOOS=linux