Go 语言程序设计——布尔与数字类型(1)
2010 年 8 月 23 日
基础:
注释:
单行注释与多行注释
// 单行注释 /* * 多行注释 */
标识符:
Go 标识符是一个非空的字母或数字串,其中第一个字符必须是字母(标识符也不能是关键字),标识符是区分大小写的
字母可以是下划线 _
,或者是 Unicode 编码分类中的任何字符
空标识符:
空标示符 _
是一个占位符,它用于在赋值操作的时候将某个值赋值给空标示符号,从而达到丢弃该值的目的
空标示符不是一个新的变量,因此将它用于 :=
操作符号的时候,必须同时为至少另一个值赋值;如果不需要得到函数的任何返回,更方便的做法是简单的忽略它
常量和变量:
知识点:
-
常量使用关键字
const
声明,变量使用关键字var
声明,也可以使用快捷变量声明语法 - Go 语言可以自动推断出声明变量类型,当然也可以人为显式指定类型
-
对于整形字面量,Go 推断为类型
int
-
对于浮点类型字面量,Go 推断为
float64
-
对于复数类型字面量,Go 推断为
complex128
- 指定类型的数值常量,只可用于别的数值类型相同的表达式中(除非经过转换)
- 未指定类型的数值常量,可用于别的数值类型为任何内置类型的表达式中
-
数值变量的默认值为
0
,如果没有显式初始化,会默认赋0
-
字符串变量的默认值为
空
,如果没有显式初始化,会默认赋空
枚举:
// 普通常量定义 const Cyan = 0 const Magenta = 1 const Yellow = 2 // 批量常量定义 const ( Cyan = 0 Magenta = 1 Yellow = 2 )
iota 常量计数器:
-
iota
是 Go 语言的常量计数器,只能在常量的表达式中使用 -
iota
在const
关键字出现时将被重置为0
(const
内部的第一行之前),const
中每新增一行常量声明将使iota
计数一次(iota
可理解为const
语句块中的行索引) -
使用
iota
能简化定义,在定义枚举时很有用
布尔值和布尔表达式
-
>
、<=
、==
、!=
、>=
、>
比较符会严格比较,两个值必须是相同类型的,如果是接口类型,实现了相同的接口类型 -
==
、!=
操作符可以用于任何可比较的类型,包含数组和结构体,只要它们的元素和成员变量与==
和!=
操作符相兼容 -
操作符不能用于比较切片,但是可以通过 Go 标准库中的
reflect.DeepEqual()
函数比较