我努力尊重每个人的个人喜好 , 因此我通常会避免争论哪种语言是最佳的编程语言 , 文本编辑器或操作系统 。
但是 , 最近有几次我被问到为什么我喜欢并使用很多Go , 所以这里有一篇连贯的文章来填补我的即席亲自杂谈的空白:-) 。
我的背景 我已经在许多体面的项目中使用了C和Perl 。我用Python , Ruby , C , CHICKEN Scheme , Emacs Lisp , Rust和Java(仅适用于Android)编写程序 。我了解一些Lua , PHP , Erlang和Haskell 。在前世 , 我使用Delphi开发了许多程序。
1.清晰度 格式设定 按照惯例 , 使用该gofmt工具格式化Go代码。以编程方式格式化代码不是一个新主意 , 但是与它的前辈相反 , 它仅gofmt支持一种规范样式 。
以相同的方式格式化所有代码 , 使阅读代码更容易 。该代码感觉很熟悉 。这不仅在阅读标准库或Go编译器时有所帮助 , 而且在处理许多代码库(例如开源或大公司)时也有帮助 。
此外 , 自动格式化在代码检查期间可以节省大量时间 , 因为它消除了以前可以检查代码的整个维度:现在 , 您只需让您的持续集成系统验证不会gofmt产生差异即可 。
有趣的是 , gofmt保存文件时让我的编辑器生效已经改变了我编写代码的方式 。我曾经尝试匹配格式化程序将要执行的操作 , 然后让它纠正我的错误 。如今 , 我尽可能快地表达自己的想法 , 并相信gofmt可以使它变得漂亮(例如 , 键入内容 , 请单击“格式”) 。
高质量代码 我使用了很多标准库(docs , source) , 请参见下文 。
到目前为止 , 我阅读的所有标准库代码都是非常高质量的 。
一个例子是image/http://mobile.86sell.com程序包:当时我还不知道JPEG的工作方式 , 但是通过在Wikipedia JPEG文章和 image/http://mobile.86sell.com代码之间进行切换很容易实现 。如果该软件包还有其他意见 , 我将其视为教学实施 。
意见 我已经同意Go社区的许多观点 , 例如:
默认情况下 , 变量名应该短一些 , 并且随着声明使用名称的增加 , 其名称也变得更具描述性 。保持依赖性树很小(在合理的程度):稍微复制胜于一点依赖性引入抽象层是有代价的 。Go代码通常非常清晰 , 但有时会有些重复 。有关更多信息 , 请参见CodeReviewComments和Go Proverbs 。很少的关键字和抽象层 Go规范仅列出了25个关键字 , 我可以很容易地记住这些关键字 。
【go语言和java比 go程序设计语言pdf】内置函数和 类型也是如此 。
以我的经验 , 少量的抽象层和概念使该语言易于学习 , 并很快就感到舒适 。
当我们谈论它时:我对Go规范的可读性感到惊讶 。它似乎真的是针对程序员(而不是标准委员会) 。
猜你喜欢
- 问候语早安励志 适合早安心语的句子
- 精选88句 关于2022年七夕节祝福语短信
- 精选88句 关于2022年七夕经典语录朋友圈文案最新
- 精选88句 关于2022年七夕经典语录朋友圈文案最新精选
- 精选88句 关于2022年七夕节祝福语句子贺卡文案最新
- 精选88句 关于2022年七夕节祝福语句子说说朋友圈文案最新
- 精选88句 关于2022年立秋微信朋友圈祝福语
- 精选88句 关于2022年今日立秋朋友圈说说心情短语
- 精选88句 关于2022年下雨朋友圈说说心情短语
- 精选88句 关于2022年下雨感慨说说心情短语
