go使用动态数组还有点麻烦,比python麻烦一点,需要先定义。
动态数组申明
var dynaArr []string
动态数组添加成员
1dynaArr = append(dynaArr, "one") 2```go 3 4 5# 结构体数组 6```go 7package main 8 9import ( 10 "fmt" 11) 12 13type A struct{ 14 Path string 15 Length int 16} 17 18func main() { 19 20 var dynaArr []A 21 22 t := A{"/tmp", 1023} 23 24 dynaArr = append(dynaArr, t) 25 dynaArr = append(dynaArr, A{"~", 2048}) 26 t.Path, t.Length = "/", 4096 27 dynaArr = append(dynaArr, t) 28 29 fmt.Println(dynaArr) 30 fmt.Println(dynaArr[0]) 31 fmt.Println(dynaArr[1].Length) 32}
run
1➜ testgo go run main.go 2[{/tmp 1023} {~ 2048} {/ 4096}] 3{/tmp 1023} 42048
二维动态数组
使用顺序就是:先用append填充一维的,然后将一维append到二维即可。
1func main() { 2 var array1 [][]string 3 var tmp []string 4 5 tmp = append(tmp, "001") 6 tmp = append(tmp, "002") 7 8 array1 = append(array1, tmp) 9 10 fmt.Println(array1) 11 fmt.Println(array1[0]) 12 fmt.Println(array1[0][1]) 13}
run
1➜ testgo go run main.go 2[[001 002]] 3[001 002] 4002
参考
http://doumadou.github.io/golang-dynamic-array.html
https://blog.csdn.net/wuli2496/article/details/82320160