go语言交叉编译及vscode调试配置
最近想学一门新语言,选来选去,学了go。
其实总体来说,上手挺简单的,go规范挺严格的,我觉得这点是真的不错,很适合用于团队开发。
比如java中,if 后的括号可以接在if后面如:if() {
还有人喜欢新开一行, 如:
1
2
3
4
5
6
7
8
// 方式1
if(a == 1) {
}
// 方式2
if(a == 1)
{
}
这种在go中就定死了,不能新开一行,这确实减少了很多格式规范问题。所以我觉得它用于团队开发挺合适的。
还有一点就是,他可以打包成二进制文件。这个对于做某些不交付源码的项目真的很舒服。
安装go开发环境挺简单的,直接官方下载,然后一路next就安装成功了。
go语言可以用vscode进行开发调试,这里提醒几个坑:
- vscode需要安装go语言插件
- vscode需要安装dlv, 这是go语言的debug工具
- 有些时候,可能你会安装不成功,这是因为环境变量可能没有正确配置,检查下
GOARCH
和GOOS
配置,GOARCH
可以取值参考 - 如果安装dlv提示不支持,考虑更改上述环境变量,我就是把
GOARCH
更改为amd64
后才能安装成功
那么第二点就是交叉编译配置:
其实编译命令也挺简单的,windows cmd执行下面命令即可:
# 编译linux执行程序
set CGO_ENABLED=0
set GOOS=linux
set GOARCH=amd64
go build -ldflags="-s -w" -o server_linux.exe main.go && upx -9 server_linux.exe
# 编译windows执行程序
set CGO_ENABLED=0
set GOOS=windows
set GOARCH=amd64
go build -ldflags="-s -w" -o server_win.exe main.go && upx -9 server_win.exe
This post is licensed under CC BY 4.0 by the author.