转载本文请联系码农桃花源公众号。有一天在写代码的时候,发现自己对IDE的依赖性很强。没有Goland,我将无法编写代码。我很惊讶。Goland的自动补全功能已经是必须的了,只要你输入几个相关的字符,不管是变量名还是函数调用,它都能帮你直接补全。我们只需要填写相应的位置即可。然后我想,当补全函数缺失或者暂时出现故障时,如何快速的找出一个函数的具体用法呢?假设我们要拆分一个字符串,但是忘记了具体的用法。下面介绍几种常用的文件检查方法。当语言设置为英语时,谷歌是相当准确的。直接导航到官方Go文档。DashDash也很准确,搜索词不需要很精确。devdocs.io[1]devdocs也不错,支持多种语言。pkg.go.devpkg.go.dev的优势就是官方文档,最权威,最有说服力。缺点是要准确记住包名+函数名。godoccmd的优点是可以直接在iTerm2中查看,缺点是需要准确记住包名+函数名。一些大佬用vim写代码,在shell环境下直接查看文档非常好用。但是Goland的菜鸡对我来说用处不大。在上述方法中,我使用Google的次数最多。它可能不是最快的方法,但它总能帮助您找到所有有用的信息。没有Google,我可能也不会编写代码。最近看到一篇文章[2],讲的是如何使用Go标准库做一个好用的文档检查工具。原理是利用Go提供的包分析工具,列出所有的导出类型。然后我们搜索的时候,通过模糊匹配找到匹配的类型,然后用这个准确的类型调用godoc。过程如下:gdoc的原理结合linux下的dmenu,使用起来很流畅:gdoc-cmd比较懒,直接用原文的动画。??当然,如果你不嫌弃浏览器,它也提供了可视化界面,也有模糊匹配的功能,可以直接一键跳转到pkg.go.dev的对应页面。可能比谷歌快一点。如果gdoc-web选择了其中一个,它会直接跳转到它:跳转到pkg.go.dev后记但是,即使你知道这些方法,你最终也可能退化为直接用谷歌搜索,因为你不需要记住任何东西,所有一切都可以用谷歌搜索。这也是最方便的方法,没有任何额外的工作。因为方便,成本低,自然想把所有的东西都搬到上面去。即使有很多专业的文档检查工具,我还是会这样做。如果一件事情很容易,它就会经常做。反之,如果成本更高,结果不是我们花更多的时间去做,而是我们选择不去做。不知道大家一般用什么方式查证件,欢迎留言一起讨论。参考文献[1]devdocs.io:https://devdocs.io/[2]文章:https://eli.thegreenplace.net/2018/command-line-autocomplete-for-go-documentation/
