← 返回主页

第5课: 数组、切片与映射

数组

var arr [5]int
arr[0] = 1

nums := [3]int{1, 2, 3}
auto := [...]int{1, 2, 3, 4}

切片 (Slice)

slice := []int{1, 2, 3}
slice = append(slice, 4, 5)

// make 创建
s := make([]int, 5, 10) // 长度5,容量10

// 切片操作
nums := []int{0, 1, 2, 3, 4, 5}
sub := nums[1:4] // [1, 2, 3]

映射 (Map)

// 创建
ages := make(map[string]int)
ages["Alice"] = 25
ages["Bob"] = 30

// 字面量
scores := map[string]int{
    "math": 95,
    "english": 88,
}

// 检查键是否存在
value, exists := scores["math"]
if exists {
    fmt.Println(value)
}

// 删除
delete(scores, "math")

遍历

// 遍历切片
for i, v := range slice {
    fmt.Printf("%d: %d\n", i, v)
}

// 遍历映射
for key, value := range ages {
    fmt.Printf("%s: %d\n", key, value)
}