golang 常用命令

tim_xiao · · 535 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

以下命令基于go版本1.15.3进行测试

基本命令

go help
go env
go version

交叉编译

# Windows下编译Linux

SET CGO_ENABLED=0
SET GOARCH=amd64
SET GOOS=linux

go build xx.go

编译参数

go build

  • 当编译包时,会自动忽略'_test.go'的测试文件。
# go build -o 指定编译输出的名称 
# win下编译生成指定名称的可执行文件
go build -o custom.exe send.go  

gofmt 和 go fmt

go fmt 是 gofmt的简易封装

go fmt 即 gofmt -l -w

传入文件的话,会格式化这个文件。传入目录的话,会格式化该目录下的所有.go文件

// 常用go fmt
go fmt send.go
// gofmt 参数
usage: gofmt [flags] [path ...]
  -cpuprofile string
        write cpu profile to this file
  -d    display diffs instead of rewriting files
  -e    report all errors (not just the first 10 on different lines)
  -l    list files whose formatting differs from gofmt's
  -r string
        rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')
  -s    simplify code
  -w    write result to (source) file instead of stdout
// go fmt 参数 
usage: go fmt [-n] [-x] [packages]

Fmt runs the command 'gofmt -l -w' on the packages named
by the import paths. It prints the names of the files that are modified.

For more about gofmt, see 'go doc cmd/gofmt'.
For more about specifying packages, see 'go help packages'.

The -n flag prints commands that would be executed.
The -x flag prints commands as they are executed.

To run gofmt with specific options, run gofmt itself.

See also: go fix, go vet.

包管理 go mod

命令说明
downloaddownload modules to local cache(下载依赖包)
editedit go.mod from tools or scripts(编辑go.mod)
graphprint module requirement graph (打印模块依赖图)
initinitialize new module in current directory(在当前目录初始化mod)
tidyadd missing and remove unused modules(拉取缺少的模块,移除不用的模块)
vendormake vendored copy of dependencies(将依赖复制到vendor下)
verifyverify dependencies have expected content (验证依赖是否正确)
whyexplain why packages or modules are needed(解释为什么需要依赖)
go help mod  
go mod init xx (初始化)
go mod tidy (自动更新依赖)

有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:tim_xiao

查看原文:golang 常用命令

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

535 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传