go 基础命令

go get

用来动态获取远程代码包
这个命令内部实际上分成二步操作:第一步是下载源码包,第二部是执行go install


# 获取远程包
go get github.com/victor/mydb

# 参数可以自动更新包
go get -u 

# 使用远程包,只要在开头import 相应的路径就可以
import "github.com/victor/mydb"
  • -d 只下载不安装
  • -u 强制使用网络去更新包和它的依赖包
  • -f 只有在包含了-u 参数的时候才有效,不让 -u 去验证 import中的每一个都已经获取了,这对于本地fork的包特别有用
  • -t 同时也下载需要为运行测试所需要的包
  • -v 显示执行的命令

go build

主要用于编译代码
  • 如果是普通包,当执行 go build 之后,它不会产生任何文件。如果需要再$GOPATH/pkg 下生成相应的文件,那就待执行 go install

  • 如果是main 包,当执行 go build 之后,会在当前目录下生成一个可执行文件。如果需要再$GOPATH/pkg 目录下生成相应的文件,需要执行go install ,或者使用go build -o path/main.go 代码路径,示例go]$ go build -o bin/sort src/day4/sort/test1/main.go

  • 如果某个项目文件夹下有多个文件,而只想编译某个文件,就可在go build 之后加上文件名,例如 go build a.gogo build 命名默认会编译当前目录下的所以go 文件

  • 也可以指定编译输出的文件名,可以指定go build -o sort.go ,默认情况是你的package 名(非main 包),或者是第一个源文件的文件名(main 包)

  • go build 会忽略目录下"_""."开头的go文件

  • -o 指定输出的文件名,可以带上路径,例如go build -o a/b/c

  • -i 安装相应的包,编译+ go install

  • -a 更新全部已经是最新的包

  • -n 把需要执行的编译命令打印出来,但是不执行

  • -x 把需要执行的编译命令打印出来,但是会执行

  • -p n 指定可以并行可运行的编译数目,默认是CPU 数目

  • -v 打印出来正在编译的包名

  • -ccflags 'arg list' 传递参数给5c,6c,8c调用

  • -compiler name 指定相应的编辑器,gccgo 还是gc


go clean

用来移除当前源码包和关联源码包里面编译生成的文件

一般都是用这个命令清除编译文件,然后github提交,在本机测试的时候这些编译文件和系统相关的,但是对于源码管理来说没必要

$ go clean -i -n
  • -i 清除关联的安装包和可运行的文件,也就是通过go install 安装的文件

  • -n 把需要执行的清除命令打印出来,但是不执行,这样就很容易只知道底层是如何运行的

  • -r 循环的清除在import中引入的包

  • -x 打印出来执行的详细命令,就是-n的打印的可执行版本


go fmt

格式化代码,修改成标准格式,平常很少用到这个命令,因为开发工具里面
一般都自带了保存时候的自动格式化功能

$ gofmt -w -l src
  • -l 显示那些需要格式化的文件
  • -w 吧改写后的内容直接写入到文件中,而不是作为结果打印到标准输出
  • -s 简化文件中的代码
  • -d 显示格式化前后的diff 而不是写入文件,默认是false
  • -e 打印所有的语法错误到标准输出,如果不标记,默认打印不同行的前10 个错误

其他命令

godoc 
需要安装go get golang.org/x/tools/cmd/godoc

go version 查看go当前版本
go env 查看当前go的环境变量
go list 列出当前全部安装的package
go run 编译并运行Go程序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值