Go语言学习笔记:3. 标识符与运算符
标识符
标识符用来标示变量,类型,常量等语法对象的符号名称,在语法分析的时候作为一个token存在。(token会在文末解释)
Go 的关键字
Go只有25个关键字(当然,Go是一门极简的语言):
break default func interface select case defer go map struch chan else goto
package switch const fallthrough if range type continue for import return var
数据类型与常量标识符
这些同样不可用作声明变量等:
数据类型
数值(16):
整形(12):
#int与uint的区别是有无符号,int(uint),int8(uint8)等的区别为bit数。
byte int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
浮点(2):
float32 float64
复数(2):
complex64 complex128
字符与字符串(2):
string rune
接口型(1):
error
布尔型(1):
bool
常量
bool型: true false
常量计数器: iota
空: nil
空白标识符
声明匿名变量,占位标识等: _
标识符规则
标识符开头可以为“A-Z”,“a-z”以及“_”,标识符不能为纯数字(或数字开头),如以下例子:
aaaaa //合法
aaaaa2 //合法
_aaaaa //合法
-aaaaa //非法标识符
9aaaaa //非法
_aaaaa2 //非法
运算符
Go语言有47个操作符,同样作为一个token存在:
算数运算符
+ - * /
位运算符
& | ^ &^ >> <<
赋值与复核运算符
:= = += -= *= /= %= &= |= ^= &^= >>= <<=
比较运算符
> >= <= < == !=
括号
( ) { } [ ]
逻辑运算符
&& || !
自增自减操作符
++ --
其他运算符
: , ; . ... <-
token
引用《Go语言核心编程》:
token是构成源程序的基本不可再分割的单元。编译器第一步就是将源程序分割为一个个独立的token,这个过程就是语法分析。Go语言的token可以分为关键字,标识符,操作符,分隔符和字面常量。
如下面个例子:
fmt.Printf("Hello World!\n")
这里有6个token
分别为:
fmt
.
Printf
(
"Hello World!\n"
)
iota
iota只能在常量表达式中使用,在枚举中应用广泛:
const (
a = iota
b
c
)
你可以试着打印这几个常量的值