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}
    } 
}
posted @ 2017-10-22 16:06  MarksGui  阅读(227)  评论(0编辑  收藏  举报