zoukankan      html  css  js  c++  java
  • Golang语言常用命令

    Go命令是管理Go资源的工具,安装好Go环境后会内置很多有用的命令工具。

    初步的了解一下这些命令的用途,对写代码很有帮助

    有一些命令是非常常用的,比如 run、build、get、test、get,有一些命令在使用IDE后很少会用到,IDE代劳了。

    常规用法:

    `go <命令> [参数]`
    

    命令: 

    fmt命令:

    运行方法: go fmt xxx.go

    fmt这个命令可以帮助程序员调整程序的格式,使之成为标准格式。这个还是很不错的,尤其是那些有代码洁癖的程序员,如果不希望自己的代码被别人code review的时候挑一些细节上的小格式错误,就试试fmt这个命令吧,很多IDE就是调用这个命令来在保存文件时调整格式。

    vet命令:

    运行方法: go vet xxx.go

    如果开发人员已经写了一些开发的代码了,vet会帮程序员检查程序中是否存在一些常见的错误,比如定义常用方法时,方法签名的错误,没有指定字段名的结构字面量等等。当然,vet命令是不能帮程序员解决逻辑错误的问题的,只可能是一些语法错误。

    例如当前目录定义了main.go文件,在fmt.Printf()中使用了错误的格式符%d,而编译器并不会检查到该错误,这会导致程序运行时的输出和预期不符。

    package main
    
    import "fmt"
    
    func main() {
        s := "this is a string"
        fmt.Printf("inappropriate formate %d
    ", s)
    }

    使用vet命令进行静态检查,会报告此错误。

    $ go vet main.go 
    # command-line-arguments
    ./main.go:7:2: Printf format %d has arg s of wrong type string

    bug命令:创建一个bug报告
    执行完命令后,会用浏览器访问github.com/golang/go 的issue。自动填写一些内容,引导你如何提交一个bug报告

    build命令:编译包以及其依赖
    最常用的命令之一。默认情况下,会在命令所在目录生成一个当前操作系统对应的可执行文件。安装完整版的Go环境,可以交叉编译其他操作系统的二进制可执行文件

    编译代码包:go build [代码包的导入路径]

    常见标记

    标记描述
    -o 指定输出文件。
    -a 强行对所有涉及到的代码包(包括标准库中的代码包)进行重新构建,即使它们已经是最新的了。
    -n 打印构建期间所用到的其它命令,但是并不真正执行它们。
    -p n 构建的并行数量(n)。默认情况下并行数量与CPU数量相同。
    -race 开启数据竞争检测。此标记目前仅在linux/amd64、darwin/amd64和windows/amd64平台下被支持。
    -v 打印出被构建的代码包的名字。
    -work 打印出临时工作目录的名字,并且取消在构建完成后对它的删除操作。
    -x 打印出构建期间所用到的其它命令。

    clean命令:清空对象文件和缓存文件
    前面提到的build命令和下面的test命令会生成一些文件和目录,clean会清理掉这些文件,包括build命令生成可执行文件

    doc命令:打印包中的文档和标记符
    打印出包或指定文件的说明文档,加上-all 参数,可以看到包里的所有函数列表和文档。
    创建一个go文件,写入一下代码

    /*
    
    这是一个范例
    
    */
    package main
    
    import "fmt"
    
    //main 主函数
    func main() {
            SayHi()
    }
    
    //SayHi 打印字符串Hello world
    func SayHi() {
            fmt.Println("Hello world!!")
    }

    执行命令 go doc -all -u

    env命令:打印出你现在的Go环境信息

    查看各个go的开发环境参数,忘记GOPATH和GOROOT路径就可以用这个打印出来了

    fix命令:用go的新版本的API更新
    go fix [packages]
    如果你升级了go,担心以前的代码不兼容,那么就可以用 go fix

    generate命令:根据指令生成go文件
    查找当前包相关的源代码文件,找出所有包含”//go:generate”的注释,提取并执行该特殊注释后面的命令,类似shell执行命令。

    get命令:下载和安装go包以及其依赖包的命令
    go get <包的路径>

    install命令:编译和安装包及其依赖包
    可执行文件会被安装在$GOPATH/bin目录下。

    list命令:列出目录下的所有包和模块,每行一个。

    mod命令:详细内容可以参考文章: 拜拜了,GOPATH君!新版本Golang的包管理入门教程

    run命令: 运行go项目
    非常常用。
    它会编译包,然后直接运行起来,不会在当前目录生成二进制文件。

    test命令:运行调试

    用于运行_text.go文件中的Test开头并且参数为 *testing.T的函数
    tool命令:运行指定的go工具

    version命令:查看当前go版本

    总结:

    这些命令大部分使用起来都很简单,想了解更多可以运行go help [命令名]查看详细说明。

      

  • 相关阅读:
    问题:C# params类型参数;结果:C#的参数类型:params、out和ref
    问题:ExecuteNonQuery 与 ExecuteScalar 结果: ExecuteNonQuery方法和ExecuteScalar方法的区别
    问题:MSChart.exe;结果:微软图表控件MsChart使用方法及各种插件下载地址
    问题:部署到iis上后Chart图片不显示;结果:使用webchart过程中遇到的一些问题
    问题:C#发布的项目浏览时出现“Server Application Unavailable”错误;结果:Server Application Unavailable出现的原因及解决方案小结
    问题:oracle nvl;结果:Oracle中的NVL函数
    cookie的路径和域
    Spring MVC静态资源处理
    java.lang.ClassNotFoundException的解决方法
    ThreadLocal管理登录信息
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/15240047.html
Copyright © 2011-2022 走看看