首页 > Go学习 > Go的常用命令
2021
12-06

Go的常用命令

Go的命令格式为:go command [args]

其中command为go的子命令,args为子命令的选项

可以使用go help command来查看指定子命令的帮助信息

常用子命令

build: 编译包和依赖
clean: 移除对象文件
env: 打印go的环境信息
bug: 启动错误报告
fmt: 运行gofmt进行格式化
get: 下载并安装包和依赖
install: 编译并安装包和依赖
list: 列出包
mod:用于管理go程序依赖
run: 编译并运行go程序
test: 运行测试
version: 显示go的版本

build命令用来编译go程序生成可执行文件的

go build [-o out_file] [build flags] [packages]

可以指定多个go文件,会将所有文件视为指定单个包的源文件列表,忽略以“_test.go”结尾的文件

但需要注意的是要生成可执行文件,需要满足两个条件:1、该程序属于main包;2、必须包含main函数

常用选项:

    -a:强制重新编译(默认编译后go文件没有更改不会重新编译)
    -v:在编译时打印包的名称
    -work:打印临时工作目录的名称并且编译完成后不要删除它们
    -buildmode=type:指定要编译的类型,常见的type有
        archive:将所有非主包构建到 .a 文件中
        c-archive:构建列出的主包和它导入的所有包,仅供C调用
        c-shared:构建列出的主包和它导入的所有包,dll文件,可供多种语言调用
        default:主要包括编译成可执行文件,非主要包编译成.a文件
        exe:构建列出的主包及其导入的所有内容为可执行文件,未命名为 main 的包将被忽略
        plugin:构建列出的主要包,以及它们的所有包导入到 Go 插件中,未命名为 main 的包将被忽略
    -ldflags args:传递每个go工具链接调用的参数,为一个字符串(使用双引号包含)
        -w:去掉DWARF调试信息,得到的程序就不能使用gdb调试了
        -s:去掉符号表,程序运行错误时的提示信息没有任何文件名和行号信息
        -X:设置编译文件的信息,如版本号,作者,更新时间等
        go build -ldflags "-w -s -X main.Version=0.1.2 -X main.Uptime=${uptime}"
        使用${变量}的形式可以使用go程序中的变量

go run 编译并运行go程序(不会产生中间文件)

go clean [go_file] :删除指定go文件对应的编译生成的所有文件,不指定go文件时会删除当前目录下所有编译文件

go fmt go_file:会按照Go的要求格式化指定文件的代码格式

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。