业内技术周刊

2018/10/26

effective-go - 简介

#go
Go 是一种新的编程语言。虽然借鉴了现有编程语言的思想,但它有一些不同寻常的特性,使得高效的 Go 程序,在性质上不同于它的亲属语言编写的程序。直截了当的把 C++ 程序或者 Java 程序翻译成 Go 程序,不大可能打到令人满意度结果(毕竟 Java 程序不是用 Go 写的)。另一方面,从 Go 的角度看来这个问题,可能创造一个成功的但完全不同的程序。换句话说,要想把 Go 写好,理解它的特性和习惯用法是很重要的。了解 Go 编程中既有的约定也很重要,比如命名,格式化,程序结构等等,这会让你使编写的 Go 程序更易于理解。

effective-go - 格式

#go
格式问题是最具争议但影响最小的问题。人们可以适应不同的格式风格,但如果他们不必这样做就更好了(鬼知道有没有强迫症),这样就不必专门花时间去讨论遵循相同风格的问题了。

effective-go - 注释

#go
Go注释介绍

effective-go - 名字

#go
和其他语言一样,名字在Go中同样重要。它们甚至有着一样的语义:一个包内的名字是否对外可见,取决于其首字母是否大写。因此,花一点时间讨论一波Go程序的命名约定是很有必要的。

effective-go - 分号

#go
跟C一样,Go 的正式语法使用分号结束语句,但与C不同的是,这些分号在源码中不可见。取而代之的是,词法分析器会使用一个简单的规则,在扫描时自动插入分号,所以输入文本中几乎没有它。

effective-go - 控制结构

#go
Go的控制结构与C相关,但是在重要的方面存在差异。

effective-go - 函数

#go
Go的一个不同寻常的特性就是,函数和方法可以返回多个值。这种形式可以用来改进C程序中一些笨拙的习语:一些标志性的错误,例如用-1表示EOF,并且修改传递的地址参数。

doraemon-home © 2018. https://doraemon-home.github.io/weekly/2018-10-26-weekly.html