go

module
v1.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 3, 2024 License: MIT

README

Go

GitHub go.mod Go version (subdirectory of monorepo) build-go-binary

  • Based on go version 1.21.1 darwin/amd64
  • Golang Software Development Kit

go build
commands Usage
-o 指定输出的文件名,可以带上路径,例如 go build -o a/b/c
-i 安装相应的包,编译+go install
-a 更新全部已经是最新的包的,但是对标准包不适用
-n 把需要执行的编译命令打印出来,但是不执行,这样就可以很容易的知道底层是如何运行的
-pn 指定可以并行可运行的编译数目,默认是CPU数目
-race 开启编译的时候自动检测数据竞争的情况,目前只支持64位的机器
-v 打印出来我们正在编译的包名
-work 打印出来编译时候的临时文件夹名称,并且如果已经存在的话就不要删除
-x 打印出来执行的命令,其实就是和-n的结果类似,只是这个会执行
-ccflags arg list 传递参数给5c, 6c, 8c 调用
-compiler name 指定相应的编译器,gccgo还是gc
-gccgoflags arg list 传递参数给gccgo编译连接调用
-gcflags arg list 传递参数给5g, 6g, 8g 调用
-installsuffix suffix 为了和默认的安装包区别开来,采用这个前缀来重新安装那些依赖的包,-race的时候默认已经是-installsuffix race,大家可以通过-n命令来验证
-ldflags flag list 传递参数给5l, 6l, 8l 调用
-tags tag list 设置在编译的时候可以适配的那些tag,详细的tag限制参考里面的 Build Constraints
go build 移除路径信息
CGO_ENABLED=0 go build -v -a -ldflags '-s -w' \
-gcflags="all=-trimpath=${PWD}" \
-asmflags="all=-trimpath=${PWD}" \
-o ./main main.go
Go代码编译成动态链接库
go build -buildmode=c-shared -o xx.so main.go
go clean 命令用于删除执行其他命令时产生的文件或目录
go mod
download   下载依赖包
edit  修改go.mod
init 初始化项目
vendor  将依赖复制到Vendor
tidy   拉取缺失模块,移除不用的模块
graph  打印依赖图
go bug

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

//go:embed 打包静态资源


☕ 🍕 🏀 🍋 🍎 🍊

鸣谢

特别感谢 JetBrains 为开源项目提供免费的 Goland 授权

Goland

Directories

Path Synopsis
controller
Package flag implements command-line flag parsing.
Package flag implements command-line flag parsing.
app
web
用Go语言编写的自动压缩文件工具,将指定目录下的所有文件压缩成一个以"Eric_"为前缀的zip文件
用Go语言编写的自动压缩文件工具,将指定目录下的所有文件压缩成一个以"Eric_"为前缀的zip文件

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL