|
@@ -11,7 +11,7 @@ package main
|
|
|
import "fmt"
|
|
|
|
|
|
func main() {
|
|
|
- var ary = make([]int, 1, 1)
|
|
|
+ var ary = make([]int32, 1, 1)
|
|
|
var strAry []string
|
|
|
|
|
|
ary[0] = 1
|
|
@@ -31,7 +31,7 @@ func main() {
|
|
|
|
|
|
fmt.Println("-----------------------------------------")
|
|
|
|
|
|
- ary = make([]int, 3, 3)
|
|
|
+ ary = make([]int32, 3, 3)
|
|
|
fmt.Printf("value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
|
|
|
|
|
|
strAry = make([]string, 3, 3)
|
|
@@ -39,33 +39,40 @@ func main() {
|
|
|
|
|
|
fmt.Println("-----------------------------------------")
|
|
|
|
|
|
- var subAry []int
|
|
|
+ var subAry []int32
|
|
|
|
|
|
- ary = make([]int, 5, 5)
|
|
|
+ // int32占用四个字节, 所以ary, subAry的地址应该也差4
|
|
|
+ ary = make([]int32, 0, 5)
|
|
|
+ subAry = ary[1:3]
|
|
|
+ fmt.Printf("ary addr: %p, subAry addr: %p\n", ary, subAry)
|
|
|
+
|
|
|
+ fmt.Println("-----------------------------------------")
|
|
|
+
|
|
|
+ ary = make([]int32, 5, 5)
|
|
|
subAry = ary[1:4]
|
|
|
subAry[0] = 1
|
|
|
fmt.Printf("ary value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
|
|
|
fmt.Printf("subAry value: %v, len: %v, cap: %v\n", subAry, len(subAry), cap(subAry))
|
|
|
|
|
|
- ary = make([]int, 10, 10)
|
|
|
+ ary = make([]int32, 10, 10)
|
|
|
subAry = ary[1:4]
|
|
|
subAry[0] = 1
|
|
|
fmt.Printf("ary value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
|
|
|
fmt.Printf("subAry value: %v, len: %v, cap: %v\n", subAry, len(subAry), cap(subAry))
|
|
|
|
|
|
- ary = make([]int, 10, 10)
|
|
|
+ ary = make([]int32, 10, 10)
|
|
|
subAry = ary[0:1]
|
|
|
subAry[0] = 1
|
|
|
fmt.Printf("ary value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
|
|
|
fmt.Printf("subAry value: %v, len: %v, cap: %v\n", subAry, len(subAry), cap(subAry))
|
|
|
|
|
|
- ary = make([]int, 10, 10)
|
|
|
+ ary = make([]int32, 10, 10)
|
|
|
subAry = ary[4:5]
|
|
|
subAry[0] = 1
|
|
|
fmt.Printf("ary value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
|
|
|
fmt.Printf("subAry value: %v, len: %v, cap: %v\n", subAry, len(subAry), cap(subAry))
|
|
|
|
|
|
- ary = make([]int, 10, 10)
|
|
|
+ ary = make([]int32, 10, 10)
|
|
|
subAry = ary
|
|
|
subAry[0] = 1
|
|
|
fmt.Printf("ary value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
|