package main
import (
"fmt"
)
func main() {
s1 := []string{}
s2 := []int{0, 1, 2, 3, 4, 5}
fmt.Println(s1, s2)
fmt.Println(s1 == nil)
s3 := s2[2:]
fmt.Println(s3)
fmt.Printf("s3长度:%d,容量: %d\n", len(s3), cap(s3))
s4 := s3[2:]
fmt.Println(s4)
fmt.Printf("s4长度:%d,容量: %d\n", len(s4), cap(s4))
s5 := s3[:2]
fmt.Println(s5)
fmt.Printf("s5长度:%d,容量: %d\n", len(s5), cap(s5))
s6 := s3[1:3]
fmt.Println(s6)
fmt.Printf("s6长度:%d,容量: %d\n", len(s6), cap(s6))
s7 := s2[2:4]
fmt.Println(s7)
fmt.Printf("s7长度:%d,容量: %d\n", len(s7), cap(s7))
s4[0] = 100
fmt.Println(s4)
fmt.Println(s3)
fmt.Println(s2)
s2[5] = 99
fmt.Println(s2)
fmt.Println(s3)
fmt.Println(s4)
s8 := make([]int, 5, 10)
fmt.Printf("s8: len=%d, cap=%d, val=%v\n", len(s8), cap(s8), s8)
s9 := make([]string, 0)
if len(s9) == 0 {
fmt.Println("s9 是空切片")
}
s10 := []int{0, 1, 2, 3, 4, 5}
s11 := s10[2:]
fmt.Printf("s11: len=%d, cap=%d, val=%v\n", len(s11), cap(s11), s11)
s11 = append(s11, 6)
fmt.Printf("s10: len=%d, cap=%d, val=%v\n", len(s10), cap(s10), s10)
fmt.Printf("s11: len=%d, cap=%d, val=%v\n", len(s11), cap(s11), s11)
s11 = append(s11, 7, 8, 9, 10)
fmt.Printf("s11: len=%d, cap=%d, val=%v\n", len(s11), cap(s11), s11)
s12 := []int{0, 1, 2, 3, 4, 5}
s13 := s12
s14 := make([]int, len(s12))
copy(s14, s12)
s12[0] = 100
fmt.Println(s12)
fmt.Println(s13)
fmt.Println(s14)
s15 := []int{6, 7, 8}
s12 = append(s12, s15...)
fmt.Println(s12)
fmt.Println(s13)
s13 = append(s13[:1], s13[2:]...)
fmt.Println(s13)
a := make([]int, 5, 10)
for i := 1; i < 5; i++ {
a = append(a, i)
}
fmt.Println(a)
b := []int{0, 1, 2, 3, 4, 5}
b1 := b[:]
b1 = append(b1[:1], b1[2:]...)
fmt.Println(b1)
fmt.Println(b)
}