详解go 动态数组 二维动态数组
go使用动态数组还有点麻烦,比python麻烦一点,需要先定义。
动态数组申明
var dynaArr []string
动态数组添加成员
dynaArr = append(dynaArr, "one") ```go # 结构体数组 ```go package main import ( "fmt" ) type A struct{ Path string Length int } func main() { var dynaArr []A t := A{"/tmp", 1023} dynaArr = append(dynaArr, t) dynaArr = append(dynaArr, A{"~", 2048}) t.Path, t.Length = "/", 4096 dynaArr = append(dynaArr, t) fmt.Println(dynaArr) fmt.Println(dynaArr[0]) fmt.Println(dynaArr[1].Length) }
run
➜ testgo go run main.go [{/tmp 1023} {~ 2048} {/ 4096}] {/tmp 1023} 2048
二维动态数组
使用顺序就是:先用append填充一维的,然后将一维append到二维即可。
func main() { var array1 [][]string var tmp []string tmp = append(tmp, "001") tmp = append(tmp, "002") array1 = append(array1, tmp) fmt.Println(array1) fmt.Println(array1[0]) fmt.Println(array1[0][1]) }
run
➜ testgo go run main.go [[001 002]] [001 002] 002
参考
http://doumadou.github.io/golang-dynamic-array.html
https://www.jb51.net/article/94234.htm