• golang_listen_7_数组


    数组是同⼀类型的元素集合

    Go中数组下标从0开始,因此⻓度为n的数组下标范围:[0,n-1]

    整数数组中的元素默认初始化为0,字符串数组中的元素默认初始化为 ""

    var a [3]int

    数组初始化

    func testArray1() {
        var a [5]float32
        a[0] = 200
        a[1] = 300
        fmt.Println(a)
    }
    
    func testArray2() {
        var a [5]int = [5]int{1, 2, 3, 4, 5}
        fmt.Println(a)
    }
    
    func testArray3() {
        a := [5]int{1, 3, 4, 5, 6}
        fmt.Println(a)
    }
    
    func testArray4() {
        a := [...]int{1, 2, 3, 4, 5, 5, 6} // 三个点代表不限制 数字
        fmt.Println(a)
    }
    
    func testArray5() {
        a := [5]int{1, 2, 3}
        fmt.Println(a)
    }
    
    func testArray6() {
        a := [5]int{3: 100, 4: 300} //设置索引的值
        fmt.Println(a)
    }
    
    func testArray7() {
        a := [5]int{3, 100, 4, 300}
        fmt.Println(a)
    
        var b [5]int
        b = a //类似 python中的 深copy
        b[2] = 30000
        fmt.Println(b)
    }
    
    func testArray8() {
        a := [5]int{3: 100, 4: 300}
        fmt.Printf("len(a)=%d", len(a))
    }
    
    func testArray9() {
        a := [5]int{3: 100, 4: 300}
        for i := 0; i < len(a); i++ {
            fmt.Printf("a[%d]=%d\n", i, a[i])
        }
    }
    
    func testArray10() {
        a := [5]int{3: 100, 4: 300}
        // var index,value int
        // for index,value :=range a
        for _, value := range a {
            fmt.Printf("%d\n", value)
        }
    }
    
    func testArray11() {
        var a [3][2]int //三个数组,每个数组里面是两个值
        a[0][0] = 10
        a[0][1] = 20
        a[1][0] = 10
        a[1][1] = 20
        a[2][0] = 30
        a[2][1] = 30
        for i := 0; i < len(a); i++ {
            for j := 0; j < len(a[i]); j++ {
                fmt.Printf("a[%d][%d]=%d", i, j, a[i][j])
                fmt.Printf(" ")
            }
            fmt.Println()
        }
        // ------------------------
    
        for i, val := range a {
            for j, var2 := range val {
                fmt.Printf("%d%d=d%d", i, j, var2)
            }
        }
    
    }
    
    func testArray12() {
        a := [3]int{10, 20, 30}
        b := a
        b[0] = 100
        fmt.Printf("%d ,,%d", a, b)
    }
    
    func testArray13() {
        var a int = 100
        b := a
        b = 300
        fmt.Printf("%d,,,%d", a, b)
    }
    
    func modify(a [3]int) {
        a[0] = 1000
    }
    
    func testArray14() {
        var a [3]int = [3]int{10, 20, 30}
        modify(a) //这个依然改不了 a 的值
        // a[0] = 20000000
        fmt.Println(a)
    }
    View Code

    数组遍历

    for i := 0; i < len(a); i++ { } //a、b是不同类型的数组,不能赋值

    ------------------

    for index, val := range a { }

    1. 求数组所有元素之和 

    2. 找出数组中和为给定值的两个元素的下标,⽐如数组:[1,3,5,8,7],找出两个元素 之和等于8的下标分别是(0, 4)和(1,2)。

  • 相关阅读:
    【★】深入BGP原理和思想【第一部】
    自制ACL+DHCP实验(初版)
    自制ACL+DHCP实验(初版)
    交换机端口呈现err-disable的原因
    交换机端口呈现err-disable的原因
    ★不容错过的PPT教程!
    ★不容错过的PPT教程!
    自制STP配置实验
    CCNA+NP学习笔记—交换网络篇
    CCNA+NP学习笔记—交换网络篇
  • 原文地址:https://www.cnblogs.com/pythonwork/p/16109648.html
Copyright © 2020-2023  润新知