文本描述
基础语法
数据类型
类型
名称
长度
零值
说明
bool
布尔类型1 false
其值不为真即为假,不可以用数字代表true或false
byte
字节型
10uint8别名
rune
字符类型
40专用于存储unicode编码,等价于uint32
int, uint
整型
4或80有符号32位或无符号64位
int8
整型
10-128 ~ 127,
uint8
整型
100 ~ 255
int16
整型
20-32768 ~ 32767,
uint16
整型
200 ~ 65535
int32
整型
40-2147483648 到 2147483647
uint32
整型
400 到 4294967295(42亿)
int64
整型
800 到 18446744073709551615(1844京)
uint64
整型
80-9223372036854775808到 9223372036854775807
float32
浮点型4 0.0 小数位精确到7位
float64
浮点型8 0.0 小数位精确到15位
complex64
复数类型8 complex128
复数类型
16
64 位实数和虚数
uintptr
整型
4或8
?以存储指针的uint32或uint64整数
string
字符串
""
utf-8字符串
变量
变量声明
Go语言引入了关键字var,而类型信息放在变量名之后,示例如下:
变量初始化
示例如下:自动推导类型
Go语言可以使用自动推导类型直接创建变量并赋值,具体示例如下:
自动推导类型,不用通过var声明变量,不用指定类型,直接在变量名后面跟”:”号,同时完成赋值。那么GO会根据所赋的值自动推导出变量的类型。如果给num变量赋值为小数,那么该变量的类型为小数类型(浮点)。
通过比较,我们发现这种方式比前面的赋值方式要简单方便。这种方式,在Go开发过程中最常用的方式。
多重赋值 匿名变量
(1)多重赋值
(2)匿名变量
_匿名变量,丢弃数据不进行处理, _匿名变量配合函数返回值使用才有价值,目前大家只需要知道其语法,后面学到函数时,我们在强调匿名变量的使用场景。
变量的语法:
函数
普通参数列表
基本语法如下:
函数定义和使用
注意:与C语言不同的是, 类型声明在变量名之后。
也可以写成如下的形式:
但是,不建议这样定义,因为不够清晰。
请看如下方法的定义:
func MyFunc05(a, b string, c float64, d, e int) {
}
推荐方法定义成如下形式,非常清晰。
func MyFunc06(a string, b string, c float64, d int, e int) {
}
不定参数列表
无法确定参数的个数时Go语言中也可以使用不定参函数(变参函数)
可以通过如下的方式来定义函数:
Test()函数是变参函数,可以传多个值。
在Test()函数内,我们可以通过len()函数来计算出args集合中存储了多少个数,通过for循环将该集合中的数全部输出,在输出时我们通过下标的方式将args集合中的值输出的。
除了可以使用len()函数计算出集合中存储的数据的个数外,还有另外一种输出的方式可以使用range关键字。如下所示:
range会从集合中返回两个数,第一个是对应的坐标,赋值给了变量i,第二个就是对应的值,赋值了变量data
以上两种输出集合的方式,在Go开发过程中都可以使用。
在使用不定参数时,要注意几个问题:
第一:不定参只能放在形参中的最后一个参数。例如:
上面我们定义了一个Test()函数,该函数第