详解go 动态数组 二维动态数组

时间:2022-11-01 15:09:22

go使用动态数组还有点麻烦,比python麻烦一点,需要先定义。

动态数组申明

?
1
var dynaArr []string

动态数组添加成员

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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

?
1
2
3
4
➜ testgo go run main.go
[{/tmp 1023} {~ 2048} {/ 4096}]
{/tmp 1023}
2048

二维动态数组

使用顺序就是:先用append填充一维的,然后将一维append到二维即可。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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

?
1
2
3
4
➜ testgo go run main.go
[[001 002]]
[001 002]
002

参考

http://doumadou.github.io/golang-dynamic-array.html
http://www.zzvips.com/article/62589.html

到此这篇关于详解go 动态数组 二维动态数组的文章就介绍到这了,更多相关go 动态数组 二维动态数组内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!