123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package main
- import "fmt"
- func add1(s []int, x int) []int {
- s = append(s, x)
- fmt.Printf("add1-addrness:%p", &s)
- fmt.Println("")
- return s
- }
- func add2(s []int, x int) {
- s = append(s, x)
- }
- func add3(s [10]int, x int) {
- s[9] = 10
- fmt.Println(s)
- fmt.Printf("add1-addrness:%p", &s)
- fmt.Println("")
- }
- func main() {
- // sliceList()
- // nums := make([]int, 1)
- // nums = append(nums, 0)
- // fmt.Println(nums, len(nums), cap(nums))
- sliceAppend()
- }
- func sliceList() {
- //切片,引用类型
- a := [...]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
- fmt.Println(a)
- s1 := a[5:8] //len=3 cap=5
- fmt.Println("s1", s1)
- fmt.Printf("s1-addrness:%p", &s1)
- fmt.Println("")
- add1(s1, 0)
- fmt.Println("a", a)
- fmt.Println("s1", s1)
- add2(s1, 1)
- fmt.Println("a", a)
- fmt.Println("s1", s1)
- //数组,值类型
- fmt.Println("值类型-------------------")
- b := [10]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
- fmt.Printf("b的addrness:%p\n", &b)
- add3(b, 0)
- fmt.Println(b)
- }
- func sliceAppend() {
- arr := [5]int{1, 2, 3, 4} // [1 2 3 4 0]
- fmt.Println(arr)
- s2 := arr[2:] // [3 4 0]
- printSlice(s2)
- s2 = append(s2, 5)
- printSlice(s2)
- fmt.Println(arr)
- }
- func printSlice(s []int) {
- fmt.Printf("len=%d cap=%d %p %v\n", len(s), cap(s), s, s)
- }
|