Go语言切片的使用
目录
- 2.切片的使用
- 2.1 切片的定义方式1:
- 2.2 切片的定义方式2:
- 2.3 切片的定义方式3:
- 2.4 切片的定义方式4:
- 2.5 切片的定义方式5:
- 2.6 切片的定义方式6:
- 遍历方式和数组差不多
2.切片的使用
2.1 切片的定义方式1:
package main
import "fmt"
func main() {
var slice []string
slice = append(slice, "A")
slice = append(slice, "B")
slice = append(slice, "C")
fmt.Println(slice)
fmt.Printf("%T", slice)
// 控制台输出:[A B C]
// 控制台输出:[]string
}
2.2 切片的定义方式2:
package main
import "fmt"
func main() {
var slice []string = []string{"A", "B", "C"}
fmt.Println(slice)
fmt.Printf("%T", slice)
// 控制台输出:[A B C]
// 控制台输出:[]string
}
2.3 切片的定义方式3:
package main
import "fmt"
func main() {
var arr = [5]string{"A", "B", "C", "D", "E"}
slice := arr[0:3]
fmt.Println(slice)
fmt.Printf("%T", slice)
// 控制台输出:[A B C]
// 控制台输出:[]string
}
2.4 切片的定义方式4:
package main
import "fmt"
func main() {
var slice = []string{"A", "B", "C", "D", "E"}
slice2 := slice[0:3]
fmt.Println(slice2)
fmt.Printf("%T", slice2)
// 控制台输出:[A B C]
// 控制台输出:[]string
}
2.5 切片的定义方式5:
package main
import "fmt"
func main() {
slice := make([]string, 3)
slice[0] = "A"
slice[1] = "B"
slice[2] = "C"
fmt.Println(slice)
fmt.Printf("%T", slice)
// 控制台输出:[A B C]
// 控制台输出:[]string
}
2.6 切片的定义方式6:
package main
import "fmt"
func main() {
slice := make([]string, 3, 5)
fmt.Println(slice)
fmt.Printf("len = %d ", len(slice))
fmt.Printf("cap = %d\n", cap(slice))
// 控制台输出:[ ]
// 控制台输出:len = 3 cap = 5
slice[0] = "A"
slice[1] = "B"
slice[2] = "C"
fmt.Println(slice)
fmt.Printf("len = %d ", len(slice))
fmt.Printf("cap = %d\n", cap(slice))
// 控制台输出:[A B C]
// 控制台输出:len = 3 cap = 5
slice = append(slice, "D")
fmt.Println(slice)
fmt.Printf("len = %d ", len(slice))
fmt.Printf("cap = %d\n", cap(slice))
// 控制台输出:[A B C D]
// 控制台输出:len = 3 cap = 5
slice = append(slice, "E")
fmt.Println(slice)
fmt.Printf("len = %d ", len(slice))
fmt.Printf("cap = %d\n", cap(slice))
// 控制台输出:[A B C D E]
// 控制台输出:len = 5 cap = 5
slice = append(slice, "F")
fmt.Println(slice)
fmt.Printf("len = %d ", len(slice))
fmt.Printf("cap = %d\n", cap(slice))
// 控制台输出:[A B C D E F]
// 控制台输出:len = 6 cap = 10
slice = append(slice, "G")
fmt.Println(slice)
fmt.Printf("len = %d ", len(slice))
fmt.Printf("cap = %d\n", cap(slice))
// 控制台输出:[A B C D E F G]
// 控制台输出:len = 7 cap = 10
}