美文网首页
day02-05array

day02-05array

作者: 李超_2292 | 来源:发表于2020-03-17 09:27 被阅读0次

    数组

    存放元素的容器

    数组的长度是数组类型的一部分,长度不一样的数组不可以比较(a1 和 a2不可比较)

    var a1 [3]bool
    var a2 [4]bool
    fmt.Printf("a1:%T   a2:%T\n",a1,a2)
    //a1:[3]bool  a2:[4]bool
    

    数组的初始化

    如果不初始化,默认元素都是零(布尔值:false,整型和浮点型:0,字符串:"")

    fmt.Println(a1,a2)
    //[false false false] [false false false false]
    
    //初始化方式1
    a1 = [3]bool{true,true,true}
    
    //初始化方式2
    a10 := [...]int{0,1,2,3,4,5,6,7,8,9} //自动判断长度...
    fmt.Printf("%T\n",a10)
    
    //初始化方式3
    a3 := [5]int{0:1,1,3,4:5} //根据索引来初始化
    fmt.Println(a3)
    //[1 3 0 0 5]
    

    数组的遍历

    city := [...]stringg{"北京","上海","深圳"}
    //根据索引遍历
    for i :=0,i < len(city); i++ {
        fmt.Println(city[i])
    }
    //for range遍历
    for i,v := range city {
        fmt.Println(i,v)
    }
    

    多维数组

    var a11 [3][2]int
    a11 = [3][2]int {
        [2]int{1,2},
        [2]int{3,4},
        [2]int{5,6}.
    }
    fmt.Println(a11)
    //[[1 2] [3 4] [5 6]]
    
    //多维数组遍历
    for _,v1 := range a11 {
        fmt.Println(v1)
        for _,v2 := range v1 {
            fmt.Println(v2)    
        }
    }
    

    数组是值类型

    b1 := [3]int{1,2,3} //[1 2 3]
    b2 := b1               //[1 2 3]
    b2[0] = 100          //[100 2 3]
    fmt.Println(b1,b2) //相当于硬链接
    //[1 2 3] [100 2 3]
    

    相关文章

      网友评论

          本文标题:day02-05array

          本文链接:https://www.haomeiwen.com/subject/gdeiehtx.html