Go基本类型
布尔型:bool
长度:1字节
取值范围:true、false
注意事项:不可以用数字代表true或false
整型:init/uint
根据运行平台可能为32位或64位
8位整型:int8或/uint8
长度:1字节
取值范围:-128127/0255
字节型:byte(uint8别名)
16位整型:int16/uint16
长度:2字节
取值范围:-3276832767/065535
32位整型:int32(rune,处理unicode字符)/uint32
长度:4字节
64位整型:int64/uint64
长度:8字节
浮点型:float32/float64
长度:4/8字节
小数位:精确到7/15小数位
复数:complex64/complex128
长度:8/16字节
足够保存指针的32位或64位整数型:uintptr
其他值类型:array、struct、string
引用类型:slice、map、chan
接口类型:interface
函数类型:func
类型零值
零值不等于空值,而是当变量被声明为某种类型后的默认值
通常情况下值类型的默认值为0,bool为false、string为空字符串
类型别名
type 文本 string
var b 文本
b = "中文"
单个变量的声明与赋值
变量的声明格式:var <变量名称> <变量类型>
变量的赋值格式:<变量名称> = <表达式>
声明的同时赋值:var <变量名称> [变量类型] = <表达式>
var a int
a = 123
var b int = 321
var c = 321
d := 456
多个变量的声明与赋值
全局变量的声明可使用var()的方式进行简写
全局变量的声明不可以省略var,但可使用并行方式
所有变量都可以使用类型推断
局部变量不可以使用var()方式简写,只能使用并行方式
var (
aaa = "hello"
sss, bbb = 1, 2
)
var a,b,c,d int
a, b, c, d = 1, 2, 3, 4
var e, f, g, h int = 5, 6, 7, 8
var i, j, k, l = 9, 10, 11, 12
m, n, o := 13, 14, 15
变量的类型转换
go不存在隐式转换,所有类型转换必须显式声明
转换只能发生在两种相互兼容的类型之间
类型转换的格式:<ValueA> [:] = <TypeOfValueA>(<ValueB>)
var a float32 = 1.1
b := int(a)
var c bool = true
d := int(c)
网友评论