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://blog.csdn.net/wuli2496/article/details/82320160