Go基本类型
-
布尔型:bool
长度:1字节
取值范围:true false
默认值:false -
字节型:byte(uint8)
长度:1字节
取值:0~255
默认值:0 -
整型/无符号整型:int/uint
长度:根据运行平台而定32位系统长度为4字节
64位系统长度为8字节
默认值:0 -
8位整型/8位无符号整型:int8/uint8
长度:1字节
取值范围:-128127/0255
默认值:0 -
16位整型/16位无符号整型:int16/uint16
长度:2字节
取值范围:-3276832767/065535
默认值:0 -
32位整型/32位无符号整型:int32(rune)/uint32
长度:4字节
取值范围:-21474836482147483647/04294967295
默认值:0 -
64位整型/64位无符号整型:int64/uint64
长度:8字节
取值范围:-92233720368547758089223372036854775807/018446744073709551615
默认值:0 -
浮点型:float32/float64
长度:4字节/8字节
取值范围:小数位精确到7/15位
默认值:0 -
复数:complex64/complex128
长度:8字节/16字节
complex64表示用实部和虚由float32构成
complex128表示用实部和虚由float64构成
复数是一个数学概念,形如a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位
默认值:(0+0i) -
保存指针的32位/64位整数型:uintptr
长度:根据运行平台而定32位系统长度为4字节
64位系统长度为8字节 -
数组:array
值类型
默认值:根据数组的长度和基本类型而定 -
数组切片:slice
引用类型
默认值:根据切片的长度和基本类型而定 -
结构:struct
值类型 -
字符串:string
值类型
默认值:一个空字符串"" -
字典:map
引用类型 -
通道:chan
引用类型 -
通道:interface
接口类型 -
通道:func
函数类型
Go变量声明与赋值
- 单个变量的声明赋值
声明格式:var 变量名称 变量类型
赋值格式:变量名称=表达式
声明时赋值:var 变量名称 变量类型(可选)=表达式
声明时赋值简写格式:变量名称:=表达式
func init() {
var a int
a = 1
var b int = 2
c := 3//必须在函数体内,全局变量不可用
}
- 多个变量的声明赋值
全局变量的声明可使用var()的方式简写
全局变量的声明不可以省略var,但可使用并行方式
所有变量都可以使用类型推断
局部变量不可以使用var()的方式简写,只能使用并行方式
func init() {
var a, b, c int
a, b, c = 1, 2, 3
var d, e, f int = 4, 5, 6
var g, h, i = 7, 8, 9
j, k, l := 10, 11, 12
}
- 变量的类型转换
Go没有隐式转换,所有类型转换必须显式声明
转换只能发生在两种相互兼容的类型之间
类型转换的格式:
var 变量名称A = 类型名称(变量名称B)
变量名称A := 类型名称(变量名称B)
func init() {
var a float32 = 1.5
b := int(a)
var c = float32(b)
}
直通车
一.Go开发工具及命令
二.Go编程基础知识
三.Go的类型与变量
四.Go常量与运算符
五.Go控制语句
六.Go数组
七.Go切片slice
八.Go哈希字典map
九.Go函数func
十.Go结构struct