编辑器选择:
首选goland,确实,挺好用;用过的都这么说。
入口函数, main 包
1.main函数为整个应用程序的入口
2.main函数的包名必须为main
3.main包可以包含多个文件
多个文件管理
放在不同的目录,package 区别不同包名。包名和文件夹名可以不一致。
编译,运行
编译go build
1.编译当前目录
1.go build
2. go build .
2.编译指定文件或目录
go build ./main.go
go build ./p1 #编译指定文件或目录
3.main 包有多个文件的情况,指定文件编译main包
1.go build ./main.go ./hello.go
4.编译时指定编译结果输出
1. go build -o ./out/app ./main.go ./hello.go
运行go run
1.直接通过go run 运行main包,即可运行引用程序
1.go run ./main.go ./hello.go
2. go run .
交叉编译
交叉编译需要修改GOOS,GOARCH, CGO_ENABLED三个环境变量
GOOS:目标平台的操作系统(darwin, freebsd, linux, windows)
GOARCH:目标平台的体系架构32位还是64位(386, amd64, arm)
CGO_ENABLED:是否启用CGO,交叉编译不支持CGO所以要禁用它
windows 编译Linux 与 Mac可执行程序
windows--Linux
1.$Env:CGO_ENABLED=0;$Env:GOARCH="amd64";$Env:GOOS="linux"
2.go build -o ./out/app .
windows--mac
1.$Env:CGO_ENABLED=0;$Env:GOARCH="amd64";$Env:GOOS="darwin"
2.go build -o ./out/app .
mac编译Linux与windows
1.CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ./out/app .
2.CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o ./out/app.exe .
Linux编译Mac与windows
1.CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o ./out/app .
2.CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o ./out/app.exe .
go mod 依赖管理
1.初始化项目
1.go mod init <项目名称>
2.第三方依赖的引用
1.go get <依赖包>
2.go get -u <依赖包>
3.第三方依赖包引用案例,go.mod文件内会自动添加相关依赖版本信息
1.go get -u github.com/gin-gonic/gin
4.依赖对齐
1.#添加使用而未引用的依赖
2.#删除引用而未使用的依赖
3.go mod tidy
网友评论