Parcourir la source

添加golang对slice的测试

tangs il y a 5 ans
Parent
commit
c942d6d055
1 fichiers modifiés avec 27 ajouts et 0 suppressions
  1. 27 0
      go_slice/main.go

+ 27 - 0
go_slice/main.go

@@ -0,0 +1,27 @@
+/**
+测试golang slice扩展长度的规则
+
+结论, slice cap空间够的时候,cap不变,cap不够的时候,会乘2.
+*/
+package main
+
+import "fmt"
+
+func main() {
+	var ary = make([]int, 1, 1)
+
+	ary[0] = 1
+	fmt.Printf("value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
+
+	ary = append(ary, 2)
+	fmt.Printf("value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
+
+	ary = append(ary, 3)
+	fmt.Printf("value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
+
+	ary = append(ary, 4)
+	fmt.Printf("value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
+
+	ary = append(ary, 5)
+	fmt.Printf("value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
+}