Go语言提供了多种内置和标准库支持的数据结构
2025-05-17
Go语言提供了多种内置和标准库支持的数据结构,以满足不同的编程需求。以下是Go语言中常见的数据结构分类及其特点:
️1. 基本数据类型
Go语言的基础数据类型虽然不是复杂的数据结构,但它们是构建更复杂数据结构的基础:
- ️布尔类型:bool
- ️字符串类型:string(不可变)
- ️字节类型:byte(uint8的别名)
- ️符文类型:rune(int32的别名,用于Unicode字符)
️2. 复合数据类型
️数组(Array)
- ️特点:固定长度、同类型元素的集合。
- ️声明:var arr [3]int(长度为3的整型数组)
- ️访问:通过索引(0-based)访问,如arr[0]
- ️局限性:长度固定,不常用,通常用切片代替。
️切片(Slice)
- ️特点:动态长度、可变长度的数组视图,底层依赖数组。
- ️声明:
- go
- var s []int // nil切片s := make([]int, 3) // 长度为3的切片s := []int{1, 2, 3} // 字面量初始化
- ️操作:
- 追加:s = append(s, 4)
- 切片:s[1:3](返回子切片)
- 长度和容量:len(s), cap(s)
- ️用途:Go中最常用的动态集合类型。
️映射(Map)
- ️特点:键值对集合,无序,键唯一。
- ️声明:
- go
- var m map[string]int // nil映射m := make(map[string]int) // 空映射m := map[string]int{"a": 1, "b": 2}
- ️操作:
- 赋值