package main
import "fmt"
func mySlice() { arr := [...]int{0, 1, 2, 3, 4, 5, 6, 7} fmt.Println("arr[2:6] = ", arr[2:6]) fmt.Println("arr[:6] = ", arr[:6]) fmt.Println("arr[2:] = ", arr[2:]) fmt.Println("arr[:] = ", arr[:]) }
func updateSlice(slice []int) { slice[0] = 2019 }
func extendSlice() { arr := [...]int{0, 1, 2, 3, 4, 5, 6, 7} s1 := arr[2:6] s2 := s1[3:5] fmt.Println(s1) fmt.Println(s2) fmt.Printf("len=%d, cap=%d", len(s1), cap(s1)) }
func appendSlice() { arr := [...]int{0, 1, 2, 3, 4, 5, 6, 7}
s1 := arr[2:6] s2 := append(s1, 100) s3 := append(s2, 100) s4 := append(s3, 100) s5 := append(s4, 100) fmt.Println(s1, s2, s3, s4, s5) }
func createSlice() {
var s []int for i := 0; i < 100; i++ { s = append(s, 1+2*i) printSlice(s) }
s1 := []int{1, 2, 3, 4, 5} printSlice(s1)
s2 := make([]int, 16) printSlice(s2)
s3 := make([]int, 10, 32) printSlice(s3) }
func copySlice() { src := []int{1, 2, 3} dst := make([]int, 16) fmt.Println(dst) copy(dst, src) fmt.Println(dst) }
func deleteSlice() { s := []int{0, 1, 2, 3, 4, 5, 6, 7, 8} s = append(s[:3], s[4:]...) fmt.Println(s)
s1 := []int{0, 1, 2, 3, 4, 5, 6, 7, 8} s1 = s1[1:] fmt.Println(s1)
s2 := []int{0, 1, 2, 3, 4, 5, 6, 7, 8} s2 = s2[:len(s2) - 1] fmt.Println(s2) }
func printSlice(s []int) { fmt.Printf("len=%d, cap=%d, slice=%v \n", len(s), cap(s), s) }
func main() { mySlice()
arr := [...]int{0, 1, 2, 3, 4, 5, 6, 7} slice1 := arr[:] fmt.Println("Before update: ", slice1) updateSlice(slice1) fmt.Println("After update: ", slice1)
extendSlice()
appendSlice()
createSlice()
copySlice()
deleteSlice() }
|