指针
Go虽然保留了指针,但与其他语言不同
Go中不支持指针运算以及->运算符,而直接采用.选择符来操作指针目标对象的成员
操作符&取变量地址,使用*通过指针间接访问目标对象
默认值为nil而非NULL
递增递减语句
在Go中++和--是作为语句而并不是作为表达式
判断语句if
条件表达式没有括号
支持一个初始化表达式(可以是并行方式)
左大括号必须和条件语句或else在同一行
支持单行模式
初始化语句中的变量为block级别,同时隐藏外部同名变量
循环语句for
go只有for一个循环语句关键字,但支持3种形式
初始化和步进表达式可以是多个值
条件语句每次循环都会被重新检查,因此不建议在条件语句中使用函数,尽量提前计算好
左大括号必须和条件语句在同一行
选择语句switch
可以使用任何类型或表达式作为条件语句
不需要些break,一旦条件符合自动终止
如希望继续执行下一个case,需使用fallthrough语句
支持一个初始化表达式(可以是并行方式),右侧需跟分号
左大括号必须和条件语句在同一行
跳转语句goto/break/continue
三个语法都可以配合标签使用
标签名区分大小写,若不使用会造成编译错误
break和continue配合标签可用于多层循环的跳出
goto是调整执行位置,与其他2个语句配合标签的结果并不相同