详解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.lingkb.com/article/94234.htm

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

Leave a Reply

Leave a Reply