zoukankan      html  css  js  c++  java
  • golang之数组

    1.数组:同一种数据类型的固定长度的序列。

    2.数组定义:var a [len]int,例如:var a [5]int

    3.长度是数组类型的一部分,因此,var a[5] int 和 var a[10]int 是不同的类型

    4.数组可以通过下标进行访问,下标是从0开始,最后一个元素是len-1

    for  i:=0;i<len(a);i++{

    }

    5.访问越界,如果下标在数组合法范围之外,就会触发越界,panic异常

    package main
    
    import "fmt"
    
    func main() {
        var a [10]int
        a[0] = 100
        fmt.Println(a)
        for i := 0; i < len(a); i++ {
            fmt.Println(a[i])
        }
    
        for index, val := range a {
            fmt.Printf("a[%d]==%d
    ", index, val)
        }
    }

    6.数组是值类型,因此改变副本的值,不会改变本身的值

    package main
    
    import "fmt"
    
    func test2() {
        var a [10]int
        b := a
        b[0] = 100
        fmt.Println(a)
    
    }
    //传递指针
    func test3(arr *[5]int) {
        (*arr)[0] = 1000
    }
    
    func main() {
        //test2()
        var a [5]int
        //传 地址,改变 值类型
        test3(&a)
        fmt.Println(a)
    }

    7.费波纳茨数列

    package main
    
    import "fmt"
    //菲波那切数列,非递归方式实现,打印前50个数
    func fab(n int){
        var a[]uint64
        a = make([]uint64,n)
        a[0]=1
        a[1]=1
        for i:=2;i<n;i++{
            a[i]=a[i-1]+a[i-2]
        }
        for _,v:=range a{
            fmt.Println(v)
        }
    }
    func main(){
        fab(50)
    }

     8.声明数组,遍历数组

    package main
    
    import "fmt"
    
    //数组的初始化
    func testArray() {
        var a [5]int = [5]int{1, 2, 3, 4, 5}
        var a1 = [5]int{1, 2, 3, 4, 5}
        var a2 = [...]int{38, 283, 48, 38, 348, 387, 484}
        var a3 = [...]int{1: 100, 3: 200}
        var a4 = [...]string{1: "hello", 3: "world"}
        fmt.Println(a)
        fmt.Println(a1)
        fmt.Println(a2)
        fmt.Println(a3)
        fmt.Println(a4)
    }
    
    //多维数组
    func muchArray() {
        //两行五列的数组
        var a [2][5]int = [...][5]int{{1, 2, 3, 4, 5}, {7, 8, 9, 11, 12}}
        for row,v:=range a{
            for col,v1:=range v{
                fmt.Printf("(%d,%d)=%d
    ",row,col,v1)
            }
        }
    }
    
    func main() {
        //testArray()
        muchArray()
    }
  • 相关阅读:
    DEDECMS里面DEDE函数解析
    dede数据库类使用方法 $dsql
    DEDE数据库语句 DEDESQL命令批量替换 SQL执行语句
    织梦DedeCms网站更换域名后文章图片路径批量修改
    DSP using MATLAB 示例 Example3.12
    DSP using MATLAB 示例 Example3.11
    DSP using MATLAB 示例 Example3.10
    DSP using MATLAB 示例Example3.9
    DSP using MATLAB 示例Example3.8
    DSP using MATLAB 示例Example3.7
  • 原文地址:https://www.cnblogs.com/pyyu/p/8151720.html
Copyright © 2011-2022 走看看