Fork me on GitHub

Go语言开发-布尔与数值类型-基础

2.1.基础

Go语言支持两种类型的注释,与C++的一样。行注释以//开始,以换行符结束;它们被简单当做一个换行符。块注释以/*开头,以*/结尾,可能包含多个行。如果块注释只占用了一行(如/*line comment*/),它被当做一个空格对待,如果该块注释占用了多行,它就被当做一个换行符对待。(我们将在第5章看到,换行符在Go语言中非常重要。)

Go标识符是一串非空的字母或数字,它的第一个字符必须是字母,而且它也不能是关键字的名字。字母可以是一个下划线_,或者Unicode编码分类中的任何字符,如“Lu”(字母,大写),“Ll”(字母,小写)、“Lt”(字母,首字母大写)、“Lm”(字母,修饰符)或者“Lo”(字母,其他);这些字符包含所有的英文字母(A-Z以及a—z)。数字则是Unicode编码分类”Nd”(数字,十进制数字)中的任何字符,这些字符包括阿拉伯数字(0-9)。编译器不允许使用与某个关键字(见表2.1)一样的名字作为标识符。

表2.1 Go语言关键字:

break case chan const contiue
default defer else fallthrotlgh for
func go goto if import
interface map package range return
select struct switch type Var

Go语言拥有很多预定义的标识符(见表2.2); 虽然可以定义与这些预定义的标识符名字一样的标识符,但是这样做是非常不明智的。

表2.2 Go语言预定义的标识符:

append bool byte cap close
complex complex64 complex128 copy delete
error false float32 float64 imag
int int8 int16 int32 int64
iota len make new nil
panic print println real recover
rune string true uint uint8
uint16 uint32 uint64 uintptr

标识符都是区分大小写的,例如,LINECOUNT、Linecount、LineCount、linecount和linecount是5个不一样的标识符。以大写字母开头的标识符,即Unicode分类中属于”Lu”(包含A-Z),是公有的——用Go语言的术语来说就是导出的——而所有其他的标识符都是私有的一一用Go语言的术语来说就是非导出的。(这项规则不适用于包名,按照惯例,包名全是小写)

空标识符“_”是一个占位符,它用于丢弃赋值给该空标识符的任何值。空标识符不是一个新的变量,所以将它用于:=操作符的时候,必须要为至少另一个变量赋值。通过将函数的某些甚至是所有返回值赋值给空标识符并将其丢弃是台法的。然而,如果不需要得到函数的任何返回值,更为方便的做法是简单地忽略它。这里有例子:

打印到终端的时候忽略返回值并不少见,但是使用fmt.Fprint()以及类似函数打印到文件或网络连接等情况时,则应该检查返回的错误值。


目录


作者:Johnson
原创文章,版权所有,转载请保留原文链接。

发表评论

电子邮件地址不会被公开。 必填项已用*标注