Go-基础回顾-基础数据类型

224 阅读2分钟

数据类型

基础类型

整型 - 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

复合类型 - 待续

数组/切片 - slice

字典 - map

结构体 - struct

指针 - pointer