Explorar el Código

添加golang对slice的测试

tangs hace 5 años
padre
commit
c942d6d055
Se han modificado 1 ficheros con 27 adiciones y 0 borrados
  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))
+}