数据类型
基础类型
整型 - int
整型类型分为int/int8/int16/int32/int64,长度不同所长空间不同。
重点:int 为有符号整型,它至少为32位空间。它是一个独立的类型,并不是int32的别名。
var a int // 默认int32
fmt.Println(a)
stdout
0
数据类型转换 - int 2 string
- fmt.Springf
- strconv.Itoa
- string()
var a int // 默认int32,未进行赋值时,则初始化值为 0 提示Go 中遵循先声明再使用的原则
fmt.Println(a)
str := fmt.Sprintf("%d", a) //Go 中也支持非声明方式 初始化变量并赋值
fmt.Println(str)
fmt.Println(strconv.Itoa(a))
fmt.Println(string(a))
stdout
0
0
0
变量使用的两种方式
- 声明再使用
- 可在函数体内也可作为包变量使用
- 短变量声明形式
- 一般在局部范围使用如函数体内
温馨提示
- 一般直接使用int类型即可,虽然相较于int8占用内存多一些,但较未来代码健壮性来说损失点存储是值得的。
浮点型 - float
float类型分为float32和float64两种。推荐使用float64。初始值为 0
类型转换 float 2 string
- fmt.Sprintf("%f", f)
字节 - byte
字节类型在Go语言中使用较为广泛,应该是因为性能原因。毕竟二进制传输速度还是有很大优势的(避免了解码的过程)。初始化为 0。
举例:
- Json转换时是通过 []byte
- Http数据传输时也是通过 []byte
var b byte
fmt.Println(b)
Stdout
0
布尔 - bool
初始化值为 false
var b bool
fmt.Println(b)
Stdout
false
字符串 - string
初始化值为""。
类型转化 string 2 int
- strconv.Atoi(string) (int, error)
- strconv.ParseInt(str, 10, 10)
var str string
fmt.Println(str)
Stdout
""
var str string = "10"
fmt.Println(str)
a, _ := strconv.Atoi(str)
fmt.Println(a)
p, _ := strconv.ParseInt(str, 10, 10)
fmt.Println(p)
Stdout
10
10
10