Golang学习笔记5——数组array

MarksGui · · 834 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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}
    } 
}

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:MarksGui

查看原文:Golang学习笔记5——数组array

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

834 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传