变量
声明一个变量
第一种,指定变量类型,声明后若不赋值,使用默认值
var name type name = value
第二种,根据值自行判定变量类型(类型推断Type inference)
如果一个变量有一个初始值,Go将自动能够使用初始值来推断该变量的类型。因此,如果变量具有初始值,则可以省略变量声明中的类型。
var name = value
第三种,省略var, 注意 :=左侧的变量不应该是已经声明过的(多个变量同时声明时,至少保证一个是新变量),否则会导致编译错误(简短声明)
name := value // 例如 var a int = 10 var b = 10 c : = 10
这种方式它只能被用在函数体内,而不可以用于全局变量的声明与赋值
多变量声明
第一种,以逗号分隔,声明与赋值分开,若不赋值,存在默认值
var name1, name2, name3 type name1, name2, name3 = v1, v2, v3
第二种,直接赋值,下面的变量类型可以是不同的类型
var name1, name2, name3 = v1, v2, v3
第三种,集合类型
var ( name1 type1 name2 type2 )
1.1 布尔型bool
布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true
1.2 数值型
1、整数型
-
int8 有符号 8 位整型 (-128 到 127) 长度:8bit 有符号 -2^7 ~ 2^7-1 一个字节8位,第一位表示符号正或负
-
int16 有符号 16 位整型 (-32768 到 32767) -2^15 ~ 2^15-1
-
int32 有符号 32 位整型 (-2147483648 到 2147483647) -2^31 ~ 2^31-1
-
int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807) -2^63 ~ 2^63-1
-
uint8 无符号 8 位整型 (0 到 255) 8位都用于表示数值: 无符号 0 ~ 2^7-1 一个字节8位,第一位也表示数字
-
uint16 无符号 16 位整型 (0 到 65535) 0 ~ 2^16-1
-
uint32 无符号 32 位整型 (0 到 4294967295) 0 ~ 2^32-1
-
uint64 无符号 64 位整型 (0 到 18446744073709551615) 0 ~ 2^64-1
int和uint:根据底层平台,表示32或64位整数。除非需要使用特定大小的整数,否则通常应该使用int来表示整数。 大小:32位系统32位,64位系统64位。 范围:-2147483648到2147483647的32位系统和-9223372036854775808到9223372036854775807的64位系统。