zoukankan      html  css  js  c++  java
  • GO基础之数组

    一、数组的声明与遍历

    package main
    
    import "fmt"
    
    //声明数组的形式1
    var arr [3]int
    var arr2 = [4]int{1, 2, 3, 4}
    
    func main() {
        //    声明数组的形式2
        a := [4]float64{2.3, 4, 5, 6.1}
        fmt.Println(a)
    
        b := [...]int {2,3,4}
    
        //遍历数组方式1
        for i:=0; i<len(a) ; i++ {
            fmt.Print(a[i] , "	")
        }
    
        fmt.Println()
    
        //遍历数组方式2
        for _,value := range b  {
            fmt.Print(value  , "	")
        }
    
        //if arr == nil {
        //    fmt.Println("arr==nil")
        //}
        fmt.Print("
     遍历arr数组:")
        for _ , value := range arr {
            fmt.Print(value , "	")
        }
    }

    数组是值传递

    package main
    
    import "fmt"
    
    func main() {
        a := [...] string{"a" , "b" , "c" , "d"}
        b := a
        b[0] = "x"
        fmt.Println("a" , a)//[a b c d]
        fmt.Println("b" , b)//[x b c d]
    }

    二、二维数组

    二维数组在概念上是二维的,即是说其下标在两个方向上变化,下标变量在数组中的位置也处于一个平面之中,而不是象一维数组只是一个向量。但是,实际的硬件存储器却是连续编址的,也就是说存储器单元是按一维线性排列的。如何在一维存储器中存放二维数组,可有两种方式:一种是按行排列, 即放完一行之后顺次放入第二行。另一种是按列排列, 即放完一列之后再顺次放入第二列。

    在GO语言中,二维数组是按行排列的。即,先存放a[0]行,再存放a[1]行,最后存放a[2]行。每行中元素也是依次存放。

    1、二维数组的元素也称为双下标变量,其表示的形式为:
        数组名[下标][下标]
    2、其中下标应为整型常量或整型表达式。例如:
          a[3][4]   :表示a数组三行四列的元素。

    package main
    
    import "fmt"
    
    func main() {
        var a = [5][3]int{ {1,2,3}, {4,5,6}, {7,8,9}, {10,11,12},{13,14,15}}
    
        for i:=0; i<len(a) ;i++  {
            for j:=0;j<len(a[0]) ;j++  {
                fmt.Printf("a[%d][%d]=%d
    "  , i , j , a[i][j])
            }
        }
    }
  • 相关阅读:
    2021.2.5 学习总结
    2021.2.1 学习总结
    2021.2.4 学习总结
    学习:C#中struct与class的区别(转)
    学习:DirectoryEntry::Path 属性(winnt、LDAP、IIS)(转)
    学习:Asp.net页面传值总结(转)
    学习:WinForm分页控件(转)
    学习:c#中抽象类和接口的相同点跟区别(转)
    学习:C#中获取当前路径的几种方法(转)
    记录:new关键字、new修饰符、new约束
  • 原文地址:https://www.cnblogs.com/jalja/p/11780551.html
Copyright © 2011-2022 走看看