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

posted on 2020-07-21 15:37  Mysticbinary  阅读(2065)  评论(0编辑  收藏  举报