package main
import "fmt"
func main() {
// f()
// f1()
// f2()
f5()
}
func f() { //定义切片
s1 := make([]int, 2)
fmt.Printf("s1: %v\n", s1)
}
func f1() {
var s2 []int
fmt.Printf("s2: %v\n", s2)
}
func f2() {
var s1 = []int{1, 2, 3}
fmt.Printf("len(s1): %v\n", len(s1)) //长度
fmt.Printf("cap(s1): %v\n", cap(s1)) //容量
}
//切片操作,数组也是一样的
func f3() {
s1 := []int{1, 2, 3, 4, 5, 6}
s2 := s1[0:3] //1-3---[)
fmt.Printf("s2: %v\n", s2)
s3 := s1[3:] //4-6
fmt.Printf("s3: %v\n", s3)
s4 := s1[2:5] //3-
fmt.Printf("s4: %v\n", s4)
s5 := s1[:] //取全部
fmt.Printf("s5: %v\n", s5)
}
//遍历
func f4() {
s1 := []int{1, 2, 3, 4, 5, 6}
//方式1
// for _, v := range s1 {
// fmt.Printf("v: %v\n", v)
// }
//方式2
for i := 0; i < len(s1); i++ {
fmt.Printf("s1[%v]: %v\n", i, s1[i])
}
}
//增和删
func f5() {
s := []int{}
s = append(s, 200)
s = append(s, 300)
s = append(s, 400)
s = append(s, 600)
fmt.Printf("s: %v\n", s)
//删除400:a=append(a[:index],a[index+1:]...)
s = append(s[:2], s[3:]...)
fmt.Printf("s: %v\n", s)
//修改
s[0] = 500
fmt.Printf("s: %v\n", s)
//复制
s1 := make([]int, 3)
copy(s1, s)
fmt.Printf("s1: %v\n", s1)
}
go切片相关简单案例
最新推荐文章于 2024-07-19 15:43:42 发布