三. GO数组和切片

数组的概述

  • 数组就是指一系列同一类型的数据集合。数组中包含的每个数据被称为数组元素,一个数组包含的元素被称为数组的长度
  • 数组长度必须是常量,且是类型的组成部分,[2]int和[3]int是不同类型
  • 数组的每个元素可以通过索引下标来访问,所有下标的范围是从0开始,最大索引长度-1

数组的初始化

声明定义同时赋值,叫初始化

  1. 全局初始化
    var a [5]int = [5]int{1,2,3,4,5}

  2. 简洁写法
    b := [5]int{1,2,3,4,5}

  3. 部分初始化,没有初始化的元素,int自动赋值为0
    c :=[5]int{1,2,3} // c = [1 2 3 0 0]

  4. 指定某个元素初始化
    d := [5]int{2:10,4:20} // d = [0 0 10 0 20]

二维数组

声明一个二维数组

  • var a [3][4]int

  • b := [3][4]int{
    {1,2,3,4},
    {5,6,7,8},
    {9,10,11,12}
    }

二维数组的操作

  1. 比较
    值支持 == 和 != 比较是不是一个元申都一样,2个数组标胶,数组类型要一样

  2. 赋值
    同类型的数组可以赋值

a := [5]int{123}
var d[5]int
d = a

切片 slice

  • 概述:
    数组的长度再定义之后无法再次修改,数组是值类型,每次传递都将产生一份副本。显然这中数据结构无法满足开发者的真是需求。GO语言提供了数组切片(slece)来你不数组的不足


    image.png
image.png
image.png
image.png
image.png
image.png

Map

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

推荐阅读更多精彩内容

  • 第四天 数组【悟空教程】 第04天 Java基础 第1章数组 1.1数组概念 软件的基本功能是处理数据,而在处理数...
    Java帮帮阅读 1,614评论 0 9
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,860评论 2 9
  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 4,007评论 2 13
  • 一、周回顾基本信息周回顾日期:2017/12/10周开始日期:2017/12/03周结束日期:2017/12/09...
    爱画的饭饭阅读 663评论 3 0
  • 简书的邮件精选做得很努力,快给工作人员打赏。 有一阵子,因为一些原因,我一直在找一个可以安心写字,有人交流的场所。...
    napretep阅读 317评论 5 3