美文网首页
Go语言--数组和切片

Go语言--数组和切片

作者: Caesar_emperor | 来源:发表于2020-05-14 16:34 被阅读0次

一.数组
1)定义:

var a1 [3]int
var a2 [...]int{1,2,3}

2)初始化

a1 := [...]int{1,2,3}
a2 := [5]int{1,2,3}

二.切片
1)定义:

a1 := [...]int{1,2,3}
a2 := [5]int{1,2,3}

2)初始化:

b1 := make([]int, 3,5)

三.区别

数组是固定大小; 切片可以扩容

四.举例

<!-------------------- 数组 ----------------->
 var a1 [5]int
  <!--自动推断数组大小-->
    a2 := [...]int{1, 2, 3}
   <!--打印-->
    fmt.Println(a1, a2)

   <!--按索引赋值-->
    a3 := [...]int{2: 2, 4: 4}
    fmt.Println(a3)
  <!--按索引赋值-->
    a4 := [5]int{2: 2, 4: 4}
    fmt.Println(a4)

   <!-------------------- 切片 ----------------->
  <!--定义切片-->
    var b1 []int
    fmt.Println(b1)
  <!--初始化-->
    b1 = make([]int, 5, 5+3)
    fmt.Println(b1)
    fmt.Printf("b1=%v,len=%d,cap=%d\n", b1, len(b1), cap(b1))

  <!--初始化-->
    b2 := make([]int, 3, 5)
    fmt.Printf("b2=%v,len=%d,len=%d\n", b2, len(b2), cap(b2))

   <!--------------------打印----------------->
[0 0 0 0 0] [1 2 3]
[0 0 2 0 4]
[0 0 2 0 4]
[]
[0 0 0 0 0]
b1=[0 0 0 0 0],len=5,cap=8
b2=[0 0 0],len=3,len=5

五.指针数组

array:=[5]*int{0:new(int),1:new(int)}
*array[0]=10
*array[1]=20

表达式new(T)将创建一个T类型的匿名变量,所做的是为T类型的新值分配并清零一块内存空间,然后将这块内存空间的地址作为结果返回,而这个结果就是指向这个新的T类型值的指针值,返回的指针类型为***T
当复制数组指针,只会复制指针的值,不会复制指针指向的值

三.多维数组
声明:

var array [4][2]int
array1:=[4][2]int{{1,2},{3,5},{7,9},{10,19}}
//声明并初始化外层数组中索引为1的
array1:=[4][2]int{1:{1,2},3:{3,5}}

相关文章

  • Go语言切片

    // //Go语言切片 // /* // go语言切片是对数组的抽象 // Go 数组的长度不可改变,在特定场景中...

  • 七、Go切片

    七、Go语言切片(Slice) Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就...

  • Go 切片和数组

    数组 go创建数组和 c 语言类似,有如下两种方式: 切片 切片声明和数组类似,只是没有传递长度 创建二维切片,并...

  • go语言 数组和切片

    新手对于数组和切片要如何区分,概念比较模糊,看看下面的说明就懂了 记住,如果在[]运算符里指定了一个值,那么创建的...

  • Go语言数组和切片

    数组 数组概念 数组就是用于保存一组相同类型的数据 定义格式 操作数组的格式 数组的初始化 (赋值) 先定义再初...

  • Go语言数组和切片

    此处数组只讲Go语言中和C语言不一样的地方 格式不同:Go语言定义数组的格式:var ages [3]int 定义...

  • Go语言-数组和切片

    1 数组的定义 定义数组常规格式是:var 数组名 [元素数量] 元素类型 = {各元素},实际使用中,可以有很多...

  • Go语言--数组和切片

    一.数组1)定义: 2)初始化 二.切片1)定义: 2)初始化: 三.区别 数组是固定大小; 切片可以扩容 四.举...

  • Go语言第3天 - 常用数据类型

    以下内容部分参考自Go语言基础数据类型Go语言中的数组切片:特立独行的可变数组Go语言数据类型-数组Go标准容器之...

  • 《golang高级编程》-读书笔记

    《Go语言高级编程》 作者 柴树杉 曹春晖 1.3 数组、字符串和切片 Go语言拷贝字符串,只是复制了底层字节数组...

网友评论

      本文标题:Go语言--数组和切片

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