每当我们开始使用新语言时,我们都只是想开始编码并尽快创建某种东西。 在学习golang时,我没有什么不同,我没有停下来等一下$ go带来了什么。 但是有一天,在进行一个项目时,我遇到了所有这些问题:
Go是用于管理Go源代码的工具。用法:go [自变量]命令是:错误启动错误报告
构建编译包和依赖项
清除删除目标文件和缓存的文件
doc显示软件包或符号的文档
env打印Go环境信息
修复更新程序包以使用新的API
fmt gofmt(重新格式化)程序包源
通过处理源生成生成Go文件
下载并安装软件包和依赖项
安装编译并安装软件包和依赖项
列出列表包或模块
模组维护
运行编译并运行Go程序
测试测试包
工具运行指定的转到工具
版本打印Go版本
兽医报告包裹可能存在的错误
使用“ go help ”可获取有关命令的更多信息。其他帮助主题:buildmode构建模式
c在Go和C之间调用
缓存构建和测试缓存
环境环境变量
文件类型文件类型
go.mod go.mod文件
gopath GOPATH环境变量
gopath-get旧版GOPATH go get
goproxy模块代理协议
importpath导入路径语法
模块模块,模块版本等
模块获取模块知道去获取
软件包列表和模式
testflag测试标志
testfunc测试功能
使用“ go help ”获得有关该主题的更多信息。
我对此非常了解,我们大多数人不会全部阅读,但让我们深入研究。在我的另一篇文章中,我介绍了安装,运行和构建的内容。
想学习golang吗? 让我们聊聊…
我已经编程超过5年了。 在最近的时间里,我一直在使用Javascript。 这意味着…
medium.com
其中大多数命令的描述都非常简单。 但是我想谈谈这里没有提到的工具。 例如,当您安装go命令行工具时,您还可以访问诸如golint,gofmt,godoc和goimport之类的命令。
注意:这些未安装自动运行以下命令。
$ go get -u golang.org/x/lint/golint // gives you go lint
$
go get -u golang.org/x/tools/...//让您进入import和godoc
请记住以下示例,我直接运行命令。 这不是运行命令的最佳方法。 假设您将这些命令嵌入脚本中,如果它们将工具移到go二进制文件中而不是单独使用工具,则可能导致向后兼容性问题。 例:
//这样运行它们
//代替gofmt
$去FMT
$导入
$去文档
$皮棉
请享受其余的谢谢。
从golint开始,它是短绒棉。 对于那些还不知道的人,lint会分析项目中的所有源代码,并将为您提供建议或改进,以使go代码变得更好。 现在在下面我将给你一个例子:


现在,如果我在此通用代码块上运行golint ,我们将得到:


您可以看到在这种情况下,它告诉我我有一个声明问题。 皮棉涵盖了许多其他问题,但是这一示例说明了它如何为您服务。
此命令是格式化所有go代码的通用解决方案。 它实现缩进,间距和其他首选项。 这个工具比我意识到的还要强大,在与他人一起进行项目时会派上用场。 特别是当您习惯于以一种格式读取代码时,gofmt会保持这种方式。 以下是此操作的示例。


当我们运行gofmt时。 它显示了gofmt的代码应如何显示。 自动对代码进行更改。 运行$ gofmt -w .go。
在我已经讨论过的工具中,到目前为止,这是我的最爱。 这就是我所有问题的答案所在。 它使您可以从命令行访问go文档。 命令行中的任何内容都使我的生活更轻松。


Godoc的另一个好处是能够在本地主机http服务器上运行文档。 这允许无数小时的离线编程。 您可以通过运行以下命令来实现:
$ godoc -http“:8080” //可以是任何端口号
最后,对于大型项目,我们有一个非常有用的工具,您可以在这里进行编程,而不必回想特定软件包在go环境中所处的确切文件路径。 goimport将格式化所有导入内容,并根据需要添加和删除软件包。 这是一个功能强大的工具,并且因为它在围棋社区中被忽视而成为最重要的工具。 人们把重点放在gofmt上 。 但是,永远不要忘记高效,谨慎地管理导入, goimport可以帮助您实现这一目标。
TL; DR
- golint➡️提出棉绒建议
- gofmt➡️提出格式,间距和缩进建议
- godoc➡️允许有效使用命令行和离线文档
- goimport➡️管理所有进口商品的有效方法。
谢谢阅读。
在Twitter上追上我@ joemeli51