Go语言有哪些数据类型?
Go语言提供了丰富的内置数据类型,可以分为以下几类:
1.基本数据类型
布尔型 (bool):表示逻辑值 true 或 false。
整数型:
int:普通整数,大小取决于平台(32位或64位)。
int8:8位有符号整数。
int16:16位有符号整数。
int32:32位有符号整数。
int64:64位有符号整数。
uint:无符号整数,大小取决于平台(32位或64位)。
uint8:8位无符号整数。
uint16:16位无符号整数。
uint32:32位无符号整数。
uint64:64位无符号整数。
浮点型:
float32:32位浮点数。
float64:64位浮点数(通常的浮点数类型)。
复数型:
complex64:实部和虚部都是32位浮点数的复数。
complex128:实部和虚部都是64位浮点数的复数。
字符串型 (string):UTF-8编码的文本。
2.复合数据类型
数组:固定长度的相同类型元素序列。
var arr [5]int
切片(slice):可变长度的相同类型元素序列。
var slice []int
结构体(struct):一种聚合数据类型,可以包含不同类型的数据。
type Point struct {
X, Y int
}
指针:存储变量内存地址的变量。
var p *int
函数:可以作为类型存储和传递。
func myFunction() {}
var f func()
接口(interface):定义了一组方法的集合,任何实现了这些方法的类型都满足该接口。
type Reader interface {
Read(p []byte) (n int, err error)
}
映射(map):键值对的集合,键必须是相同的类型,值可以是不同的类型。
var m map[string]int
通道(channel):用于在goroutine之间同步和传递数据。
var ch chan int
3.特殊数据类型
空值 (nil):表示没有任何值。
错误 (error):用于错误处理,是一个内建的接口类型。
这些数据类型构成了Go语言的基础,使得Go语言能够处理各种编程任务。