美文网首页
Golang学习笔记5——数组array

Golang学习笔记5——数组array

作者: MarksGui | 来源:发表于2017-10-22 16:31 被阅读32次

    1.array的定义

    • 定义数组的格式:
    var a[4]int  //元素自动初始化为零
    
    a := [...]int{19:1}  //编译器按照初始化值数量确定数组长度
    
    a := [5]int{1,2}  //未提供初始值的元素自动初始化为零
    
    • 数组长度也是类型的一部分,因此具有不同长度的数组为不同类型

    • 数组在go中为值类型

    2.数组指针和指针数组

    //数组指针是指获取数组变量的地址。
    //此时变量p就是指向数组的指针。特别注意p定义的类型为长度为100的数组的指针。 长度必须相等才能赋值。
    func main() {
        var a =  [...]int{99:1}
        var p *[100]int = &a
        fmt.Println(p)
    }
      
    //指针数组是指元素为指针类型的数组
    func main() {
        var x, y = 2, 3
        var a  = [...]*int{&x, &y}
        fmt.Println(a)
    }
    

    3.数组之间的比较

    数组之间可以使用==或!=进行比较,但不可以使用<或>

    //数组类型必须相同才能比较
    func main() {
      a := [2]int{1,2}
      b := [2]int{1,3}
      fmt.Println(a == b)
    }
    

    4.使用new创建数组,此方法返回一个数组指针

    func main() {
      p := new([10]int)
      fmt.Println(p)
    }
    

    5.多维数组

    func main() {
        a := [2][3]int{
            {1,2,3},
            {4,5,6}
        }
        b := [2][3]int{
            {1:1},
            {2:2}
        }
        c := [...][3]int{
            {1:1},
            {2:2}
        } 
    }
    

    相关文章

      网友评论

          本文标题:Golang学习笔记5——数组array

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