• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

GO语言数组,切片,MAP总结

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

数组

数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。
数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,长度不能变。数组可以通过下标进行访问,下标是从0开始,最后一个元素下标是:len-1,访问越界(下标在合法范围之外),则触发访问越界,会panic。
数组是值类型,赋值和传参会复制整个数组。因此改变副本的值,不会改变本身的值。

数组声明

var 数组变量名 [元素数量]元素类型
var a [3]int  //声明一个长度为3的整形数组
var city = [...]string{"北京", "上海", "深圳"} //声明一个可变长度的字符串类型数组并且初始化

数组定义必须指定长度。
让编译器根据初始值的个数自行推断数组的长度...

切片

切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。
切片是一个引用类型,它的内部结构包含地址、长度和容量。

切片声明

var 变量名称[]元素类型
var a []string              //声明一个字符串切片
var b = []int{}             //声明一个整型切片并初始化
var c = []bool{false, true} //声明一个布尔切片并初始化

使用make()函数构造切片

make([]元素类型, 切片中元素的数量, 切片的容量)
s := make([]int, 2, 10)

切片不需要指定长度。
切片之间是不能比较,只能和nil比较!

map

map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。map是无序的。

map声明

map[键类型]值类型
make(map[KeyType]ValueType, [cap])
其中cap表示map的容量,该参数不是必须的

三种声明方式

//第一种声明
var test1 map[string]string
//在使用map前,需要先make,make的作用就是给map分配数据空间
test1 = make(map[string]string, 10) 
test1["one"] = "php"
//第二种声明
test2 := make(map[string]string)
test1["one"] = "php"
//第三种声明
test3 := map[string]string{
    "one" : "php",
}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
一个简单的用go实现的restful框架gorest发布时间:2022-07-10
下一篇:
golangcache--go-cache发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap