Golang学习笔记5——数组array

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}
    } 
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 13,141评论 1 51
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,794评论 3 44
  • 一、框架 1、Mac系统及常用工具、进制;C数据类型、常量变量、运算符、表达式、格式化输入输出 2、关系运算符、逻...
    师景福阅读 4,046评论 0 2
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,844评论 6 13
  • 拳皇争霸 “我从你们起的名字上就能看出来。你看,你叫啥啊?老鼠。人家卢红苗呢?卢红苗,卢红喵。喵喵喵,那就是一只猫...
    MJ老段阅读 3,184评论 4 5