package main import "fmt" func main() { // 定义一个长度为2的切片,其元素的数据类型为string var slice = make([]string, 2) // 等价于:var slice []string = make([]string, 2) slice[0] = "m" slice[1] = "a" // 也可以在定义切片时直接设置元素,这样就不需要使用make()函数 // var slice = []string{"m", "a"} fmt.Printf("slice = %+v \n", slice) // slice = [m a] fmt.Printf("slice长度 = %+v \n", len(slice)) // slice长度 = 2 // 切片追加元素 slice = append(slice, "n") slice = append(slice, "o") slice = append(slice, "n") slice = append(slice, "g") fmt.Printf("slice = %+v \n", slice) // slice = [m a n o n g] fmt.Printf("slice长度 = %+v \n", len(slice)) // slice长度 = 6 str := "" // 遍历切片,使用『for key, value := range 切片』方式 for _, value := range slice { str += value } fmt.Printf("str = %+v \n", str) // str = manong } //========== 总结 ==========// // 1、切片可以粗略理解为可动态改变长度的数组(注:数组在定义时必须指定长度,且无法修改长度)。 // 2、遍历切片和遍历数组的方式是一样的,都可以通过『for key, value := range slice』来遍历。 // 3、切片判空只能用len(slice)是否为0来判断,不能用slice是否为nil来判断。 // 4、切片与切片之间不能比较,即不能用==来判断两个切片是否相等。
Copyright © 2024 码农人生. All Rights Reserved