go语言单行注释 go语言%t( 五 )


$ go run basic-code-element-demo.go
Result: 46 + 54 = 100? true
在上面的示例程序中 , 单词package、import、const、func、var、for、if、else和return均为关键字 。其它大多数单词均为标识符 。请阅读关键字和标识符以获得更多关于关键字和标识符的信息 。
四个int(一个在第15行,另三个在第13行) 表示内置基本类型int 。int类型是Go中的基本整数类型之一 。第5行中的16、第17行中的0、 第20行中的1以及第30行的100均为整型字面量 。第35行的"Result: "是一个字符串字面量 。请阅读基本类型和它们的字面量表示以获取更多关于基本类型和它们的字面量的信息 。Go中的非基本类型(均为组合类型)将在以后的其它文章中介绍和解释 。
第20行是一个赋值语句 。第5行声明了一个具名常量,叫做MaxRand 。第15行和第30行使用标准变量声明语句声明了三个变量 。第17行的变量i以及第33行的变量x和y是使用变量短声明语句声明的 。变量a和b在声明的时候被指定为int类型 。编译器会自动推导出变量i、num、x和y的类型均为int类型,因为它们的初始值都是整型字面量表示的 。请阅读常量和变量以获取什么是类型不确定值、类型推导、赋值、以及如何声明变量和具名常量 。
上面的示例程序中使用了很多操作符,比如第17和19行的小于比较符,第36行的等于比较符==,还有第20和36行的加法运算符+ 。第35行中的+不是一个运算符,它是一个字符串字面量中的一个字符 。一个使用操作符的操作中涉及到的值称为操作值(有时也可称为运算数) 。请阅读常用操作符以获取更多关于操作符的信息 。更多操作符将在后续其它文章中介绍 。
第35和36行调用了两个内置函数print和println 。从第13行到第26行声明的函数StatRandomNumbers在第33行被调用 。第19行也调用了一个函数 Intn 。这个函数声明在math/rand标准库包中 。请阅读函数声明及函数调用以获取更多关于函数声明及函数调用的信息 。
(注意,一般print和println这两个内置函数并不推荐使用 。在正式的项目中,我们应该尽量使用fmt标准库包中声明的相应函数 。《Go语言101》只在开始的几篇文章中使用了这两个函数 。)
第1行指定了当前源文件所处的包的名称 。一个Go程序的主函数(main函数)必须被声明在一个名称为main的包中 。第3行引入了math/rand标准库包,并以rand做为引入名 。在这个包中声明的Intn函数将在第19行被调用 。请阅读代码包和包引入,以获取更多关于代码包和包引入的信息 。
表达式、语句和简单语句一文中介绍了什么是表达式和语句 。特别地,此文列出了所有的简单语句类型 。在Go代码中,各种流程控制代码块中的某些部分必须为简单语句 , 某些部分必须为表达式 。
StatRandomNumbers函数的声明体中使用了两个流程控制代码块 。其中一个是for循环代码块,它内嵌了另外一个代码块 。另外一个代码块是一个if-else条件控制代码块 。请阅读基本流程控制语法以获取更多关于流程控制代码块的信息 。更多的特殊的流程控制代码块将在以后的其它文章中介绍 。
空行常常用来增加代码的可读性 。上面的程序中也包涵了很多注释,但它们大多是为了Go初学者快速理解的目的而加入的 。我们应该尽量使代码自解释 , 只在确实需要解释的地方进行注释 。
关于代码断行
像很多其它流行编程语言一样,Go也使用一对大括号{ and }来形成一个显式代码块 。但是在Go代码中,编码样式风格有一些限制 。比如,很多左大括号{不能被放到下一行 。如果,上面的StatRandomNumbers被修改成如下所示,则上面的示例程序将编译不通过 。

推荐阅读