学习Golang的4个技巧

时间:2019-10-28 作者:golang

学习Golang的4个技巧

我的大学的新生编程课是使用VAX汇编程序进行的。在数据结构课程中,我们使用了Pascal,它是通过软盘加载到图书馆计算机中心的旧旧PC上的。在一个高级课程中,我有一位教授喜欢展示ADA中的所有示例。通过在Sun工作站上使用各种Unix实用程序的源代码,我学到了一些C语言。在IBM,我们使用C(和一些x86汇编程序)作为OS/2源代码,并且在与Apple的联合项目中大量使用了C++的面向对象功能。从csh开始,我很快就学会了shell脚本,但是在90年代中期找到Linux之后,我又转向了Bash。在研究IBM’s即时(JIT)编译器时,我被迫学习m4(可以说是宏处理器而不是编程语言)。

快进20年了…我从没对学习新的编程语言感到紧张。但是Go感觉不一样。我打算在GitHub的上游公开做出贡献,任何有兴趣的人都可以看到!我不想成为40岁左右的高级开发人员,成为Go的新手!我们都知道,不管您的经验水平如何,程序员都不喜欢被挫伤的骄傲。
我的早期调查表明,Go似乎比某些语言更致力于其“惯用性”。这不仅仅是要使代码编译;而是要编译代码。我需要能够编写代码“ Go way”。

现在我已经有4年了几百次请求,这并不代表我是专家,但我确实比2014年更加轻松地编写和编写Go代码。您会教一个老头新技巧吗?或者至少会教一种新的编程语言?这四个步骤对我自己前往Golang的旅程很有价值。

1.不要跳过基本原则
尽管您也许可以通过复制代码,在早期学习中寻找和啄食(谁有时间阅读手册?!?)来解决问题,但Go的语言规范可读性很强,显然可以阅读和理解,即使您没有语言或编译器理论的硕士学位。鉴于Go对parameter:type构造的顺序做出了一些独特的决定,并且具有有趣的语言功能(例如通道和goroutines),因此扎根于这些新概念非常重要。与Golang创作者的另一篇有用资源-Effective Go一起阅读本文档,将极大地提高您准备有效和正确使用该语言的意愿。

2.向最好的人学习
有很多宝贵的资源可用于深入挖掘Go知识。任何最近的GopherCon的所有演讲都可以在网上找到,例如2018年GopherCon US的这份详尽清单。讲座涉及专业知识和技能水平,但是您可以通过观看讲座轻松找到关于Go所不了解的知识。Francesc Campoy创建了一个名为JustForFunc的Go编程视频系列,该系列的节目越来越多,以扩展您对Go的了解和理解。快速搜索“ Golang”会为想要了解更多信息的人显示许多其他视频和在线资源。

想看代码吗?GitHub上许多最受欢迎的云原生项目都是用Go编写的:Docker / Moby,Kubernetes,Istio,containerd,CoreDNS等等。语言纯正者可能会对某些项目的习惯性进行评价,但是这些都是了解大型代码库在活跃项目中使用Go的良好起点。

3.使用良好的语言工具
您将快速了解gofmt的价值。Go的美丽之处之一是,每个项目都无需争论代码格式化指南-gofmt内置在语言运行时中,并且它根据一组稳定且易于理解的语言规则来格式化Go代码。我不知道有任何基于Golang的项目不坚持要求使用gofmt 来检查 拉取请求,这是持续集成的一部分。

除了直接在runtime/SDK中内置的大量有用工具之外,我强烈建议使用具有良好Golang支持功能的编辑器或IDE。因为我经常在命令行中找到自己,所以我依靠Vim加上出色的vim-go插件。我也喜欢Microsoft随VS Code提供的功能,尤其是其 Go语言插件。

4.开始编写一些Go代码!
除非您开始尝试,否则您在编写Go语言方面永远不会变得更好。查找一个带有某些“需要帮助”问题的项目,并做出贡献。如果您已经在使用用Go编写的开源项目,请找出是否存在一些具有初学者级解决方案的bug,并提出第一个请求请求。与生活中的大多数事物一样,唯一真正的改善方法是通过练习,因此继续前进。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:2100506673@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。