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()
    }
  • 相关阅读:
    SMC状态机笔记
    Centos重启关机命令
    什么是YAML?
    什么是TOML?
    一键彻底关闭Win10自带Windows Defender杀毒软件
    【接单】找我付费定制Python工具软件或网站开发、Chrome浏览器插件、油猴脚本
    不定积分的符号定义问题
    林群:从数学谈教育
    linux没有ifconfig命令解决办法
    linux使用mitmproxy报错
  • 原文地址:https://www.cnblogs.com/pyyu/p/8151720.html
Copyright © 2011-2022 走看看