Go 使用的数据类型有哪些?
Go 使用的数据类型有哪些?
提示
题眼: 值类型和引用语义类型
题解:表面上问的是 Go 有哪些数据类型,实际上往往会继续追问值类型、引用语义类型,以及哪些类型可比较、哪些不可比较。
通常可以把 Go 里的常见类型分成值类型和引用语义类型两类,再进一步区分可比较和不可比较。
- 值类型:
byte、rune、string、int、uint、float32、float64、bool、数组、结构体。 - 不可比较的引用语义类型:切片、
map、函数。 - 可比较的引用语义类型:指针、
channel、接口(动态值可比较时)。
重要
参考答案:
Go 的数据类型通常可以分成两大类:值类型和引用语义类型。像我们常用的 int、string、数组、结构体这些都属于值类型,它们在赋值和传参时会复制一份值。
引用语义类型里,常见的有切片、map、函数、指针和通道。这里面还要注意一个点,就是并不是所有类型都能直接用 == 判等。像切片、map、函数这三种类型就不能直接比较,使用时要特别注意。
