Go基本类型
• 布尔型:bool
长度:1字节
取值范围:true、false
注意事项:不可用数字代表ture,和false
• 整型:int/unit
根据运行平台可能为32或64位
• 8位整型:int8/uint8
长度:1字节
取值范围:-128~127/0~255
• 字节型:byte(uint8别名)
• 16位整型:int16/uint16
长度:2字节
取值范围:-32768~32767/0~65535
• 32位整型:int32(rune)/uint32
长度:4字节
取值范围:-2^32/2~2^32/2-1/0~2^32-1
• 64位整型:int64/uint64
长度:8字节
取值范围:-2^64/2~2^64/2-1/0~2^64-1
• 浮点型:float32/float64
长度:4/8字节
小数位:精确到7/15小数位
• 复位:complex64/complex128
长度:8/16字节
• 足够保存指针得32位或64位整数型:uintptr
• 其他值类型:
array、struct、string
• 引用类型:
slice、map、chan
• 接口类型:inteface
• 函数类型:func
• 类型零值
通常情况下值类型的默认值为0,bool为false,string为空字符串。
• 单个变量的声明与赋值
变量的声明格式:var 变量名称 变量类型
变量的赋值格式: 变量名称 = 表达式
声明的同时赋值:var 变量名称 变量类型 = 表达式
var a int//变量的声明
a = 123 //变量的赋值
var b int = 1234//声明同时赋值
var c = 321//变量赋值由系统自动判断类型
d := 345 //变量声明与赋值的简写:注意:此方法只能写在函数内
x,_,n,m := 12,33,44,55//方法体内多个变量的赋值下划线是
空白符号33被忽略
• 变量的类型转换
go中不存在隐式转换,所有的类型转换必须显示声明
转换只能发生在两种相互兼容的类型之间
类型的转换格式: 变量名 := 转换的类型(被转换的变量)
无法转换不兼容的类型比如int型不能转换
当使用int类型转换String类型时,
应该导入 strconv 转换时:b:= strconv.Itoa(a) 来进行转换
倒转时: a,_:= strconv.Atoi(b)来进行倒转