美文网首页
go语言数组、切片、映射

go语言数组、切片、映射

作者: 码畜翻身 | 来源:发表于2018-10-18 18:01 被阅读0次

go的一些语法有点晦涩,这些很基础,做一下笔记

数组

数组声明

#声明一个包含5个元素的整型数组
var array [5]int 
#声明一个包含5个元素的字符串数组
var array1 [5]string
#声明一个整型数组,不限制
var array [...]int

数组声明初始化

#声明一个包含5个元素的整型数组
#用具体值初始化每个元素
array := [5]int{10,20,30,40,50}
array := [...]int{10,20,30,40,50}

切片

切片的声明

#创建一个字符串切片,长度和容量都是5个元素
slice := make([]string,5)
#创建一个整型切片,其长度为3个元素,容量为5个元素,不允许创建容量小于长度的切片
slice := make([]int,3,5)
#创建字符串切片
slice := []string{"red","blue"}
#创建nil整型切片
var slice []int
#使用make创建空的整型切片
slice := make([]int,0)
#使用切片字面量创建空的整型切片
slice := []int{}
如果在[]运算符里指定一个值,那么创建的就是数组而不是切片
#切片概念是只包含左边元素不包含右边元素
#可以把容量当做成总长度减去左指针走过的元素值
slice := []int{10, 20, 30, 40, 50}
slice[1:3] 长度为2:slice[1]和slice[2]

切片的追加

append操作完,newSlice拥有一个全新的底层数组,这个数组的容量是原来的两倍
slice := []int{10, 20, 30, 40}
newSlice := append(slice, 50)
cap(newSlice)  #8
len(newSlice)   #5
切片操作并不复制切片指向的元素。它创建一个新的切片并复用原来
切片的底层数组。 这使得切片操作和数组索引一样高效。因此,通过
一个新切片修改元素会影响到原始切片的对应元素。

切片是一维的,和数组一样,可以组合多个切片形成多维切片

slice := [][]int{{10}, {100, 200}}

切片函数传递是值传递

映射

映射是一个存储键值对无序集合

#创建一个映射,键类型是string,值得类型是int
dict := make(map[string]int)
#创建映射时,更常用的方法是使用映射字面量
dict := map[string]string{"Red": "#da1337", "Orange": "#e95a22"}
#删除一项
delete(map,key)
赋值
color := make(map[string]int)
color := map[string]int  错误
color["red"] = 3

相关文章

  • go语言数组、切片、映射

    go的一些语法有点晦涩,这些很基础,做一下笔记 数组 数组声明 数组声明初始化 切片 切片的声明 切片的追加 切片...

  • Go语言数组、切片、映射

    数组 声明和初始化 访问指针数组的元素 相同类型(数组长度和每个数组元素类型相同)的数组变量可以互相赋值。 二维数...

  • Go语言切片

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

  • Go语言 参数传递究竟是值传递还是引用传递的问题分析

    之前我们谈过,在Go语言中的引用类型有:映射(map),数组切片(slice),通道(channel),方法与函数...

  • 七、Go切片

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

  • Go 语言程序设计——集合类型(1)

    Go语言的所有内置类型:数组、切片和映射 值、指针和引用类型 值在传递给函数或者方法的时候会被复制一次 Go语言中...

  • Go语言入门——数组、切片和映射

    Go语言入门——数组、切片和Map 按照以往开一些专题的风格,第一篇一般都是“从HelloWorld开始” 但是对...

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

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

  • Go In Action --- 数组、切片、映射

    小记 符号解释 名词翻译 关键字 数组 数组是一个长度固定的数据结构,用于存储一段具有相同的类型的元素的连续块。数...

  • Go 切片和数组

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

网友评论

      本文标题:go语言数组、切片、映射

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