交叉编译

#linux下编译windows的可执行文件
GOOS="windows" GOEXE=".exe" go build
#win下编译linux的可执行文件
GOOS="linux" GOARCH="amd64" go build

条件编译

条件编译

1编译标签 放到源代码文件头部 然后空一行 package xxx

// +build darwin freebsd netbsd openbsd

这个将会让这个源文件只能在支持kqueue的BSD系统里编译

// +build linux darwin
// +build 386

这个将限制此源文件只能在 linux/386或者darwin/386平台下编译

2文件后缀

mypkg_linux.go         // only builds on linux systems
mypkg_windows_amd64.go // only builds on windows 64bit platforms

第三方库积累

Go知识图谱