当前位置: 首页 > news >正文

专注做一家男人最爱的网站制作网页的网站

专注做一家男人最爱的网站,制作网页的网站,jsp做的网站运行都需要什么,学做网站平台编程笔记 Golang基础 024 映射 一、映射二、映射的定义与初始化三、基本操作四、综合示例程序 Go语言中的映射(map)是一种关联数组或哈希表数据结构,它存储键值对,其中每个键都是唯一的。在Go中,你可以使用 map[keyTy…

编程笔记 Golang基础 024 映射

  • 一、映射
  • 二、映射的定义与初始化
  • 三、基本操作
  • 四、综合示例程序

Go语言中的映射(map)是一种关联数组或哈希表数据结构,它存储键值对,其中每个键都是唯一的。在Go中,你可以使用 map[keyType]valueType来声明一个映射。

一、映射

在Go语言中,映射(map)是一种内置的数据结构,它提供了一种关联键值对的方式,允许通过唯一的键(key)来存储和检索对应的值(value)。映射中的键是唯一的,并且用于快速查找相关联的值。这种数据结构常被称为关联数组、哈希表或字典,在其他编程语言中也有类似的概念。

Go语言中的映射定义语法如下:

map[keyType]ValueType

例如,创建一个存储字符串到整数的映射:

var m map[string]int

使用映射时需要注意以下几点:

  • 映射在使用前必须初始化(可以通过 make 函数或者直接声明并初始化),否则会引发运行时错误。
  • 映射的键必须是可比较类型,也就是说,它们需要支持相等性判断操作(== 和 !=)。
  • 映射是无序的,因此不能保证迭代顺序的一致性。
  • Go 语言中的映射实现了高效的查找、插入和删除操作,这些操作的时间复杂度通常接近 O(1)。

示例代码:

// 初始化一个映射
m := make(map[string]int)// 插入键值对
m["apple"] = 1
m["banana"] = 2// 根据键查找值
value, ok := m["apple"]
if ok {fmt.Println("The value for key 'apple' is", value)
} else {fmt.Println("Key 'apple' not found")
}// 删除键值对
delete(m, "banana")

在这个例子中,“ok”是一个布尔值,表示查找是否成功找到指定的键。如果键存在,则“ok”为true,同时返回相应的值;如果键不存在,则“ok”为false,返回的值为零值。

二、映射的定义与初始化

// 定义并初始化一个字符串到整数的映射
var numbers map[string]int = map[string]int{"one": 1, "two": 2, "three": 3}// 或者直接初始化而不声明变量类型
numbers := map[string]int{"one": 1, "two": 2, "three": 3}// 使用make函数创建一个新的映射(推荐方式)
numbers := make(map[string]int)
numbers["one"] = 1
numbers["two"] = 2
numbers["three"] = 3

三、基本操作

  • 插入和访问元素:
numbers["four"] = 4 // 插入新的键值对
value, exists := numbers["one"] // 访问元素,exists为bool型,表示键是否存在
if exists {fmt.Println("The value of 'one' is", value)
}
  • 删除元素:
delete(numbers, "two") // 删除键为"two"的键值对
  • 遍历映射:
for key, value := range numbers {fmt.Printf("Key: %s, Value: %d\n", key, value)
}

四、综合示例程序

下面是一个综合应用的示例程序,该程序创建了一个学生姓名到分数的映射,并实现了添加、查询、删除和遍历操作:

package mainimport ("fmt"
)func main() {// 初始化一个映射scores := make(map[string]int)// 添加一些学生的分数scores["Alice"] = 95scores["Bob"] = 85scores["Charlie"] = 90// 查询并打印某个学生的分数if score, ok := scores["Alice"]; ok {fmt.Printf("Alice's score is %d.\n", score)} else {fmt.Println("Alice is not in the records.")}// 更新一个学生的分数scores["Bob"] = 90// 删除一个学生记录delete(scores, "Charlie")// 遍历并打印所有学生的分数fmt.Println("All students' scores:")for name, score := range scores {fmt.Printf("%s: %d\n", name, score)}
}

在这个示例中,我们首先创建了一个名为scores的映射,用于存储学生姓名及其对应的分数。然后演示了如何向映射中插入数据、通过键查询值、更新现有键的值以及删除键值对。最后,通过range关键字遍历映射并打印所有的学生分数。


文章转载自:
http://dinncosoluble.bpmz.cn
http://dinncostereoscopically.bpmz.cn
http://dinncoretuse.bpmz.cn
http://dinncoperdie.bpmz.cn
http://dinncouteritis.bpmz.cn
http://dinncoroscoe.bpmz.cn
http://dinncoforam.bpmz.cn
http://dinncoseductive.bpmz.cn
http://dinncodysphasic.bpmz.cn
http://dinncoblazonry.bpmz.cn
http://dinncomadrid.bpmz.cn
http://dinncovasospasm.bpmz.cn
http://dinncopolynesia.bpmz.cn
http://dinncoevaginable.bpmz.cn
http://dinncounilluminating.bpmz.cn
http://dinncoinspectorate.bpmz.cn
http://dinncoassurgent.bpmz.cn
http://dinncopandh.bpmz.cn
http://dinncofrittata.bpmz.cn
http://dinncocollective.bpmz.cn
http://dinncoclackdish.bpmz.cn
http://dinncokedron.bpmz.cn
http://dinncommpi.bpmz.cn
http://dinncounpublicized.bpmz.cn
http://dinncodastardly.bpmz.cn
http://dinncovitally.bpmz.cn
http://dinncosarcomagenic.bpmz.cn
http://dinncobandyball.bpmz.cn
http://dinncodipperful.bpmz.cn
http://dinncoihram.bpmz.cn
http://dinncoolive.bpmz.cn
http://dinncosuperpatriot.bpmz.cn
http://dinncozealot.bpmz.cn
http://dinncobibliographize.bpmz.cn
http://dinncoindiscernibly.bpmz.cn
http://dinncostactometer.bpmz.cn
http://dinncofellable.bpmz.cn
http://dinncopewit.bpmz.cn
http://dinncomatriculation.bpmz.cn
http://dinncoapostolate.bpmz.cn
http://dinnconociassociation.bpmz.cn
http://dinncoprogression.bpmz.cn
http://dinncoagenda.bpmz.cn
http://dinncocosmopolitical.bpmz.cn
http://dinncothermojet.bpmz.cn
http://dinncoexfacie.bpmz.cn
http://dinncoknowledgable.bpmz.cn
http://dinncochump.bpmz.cn
http://dinncoevery.bpmz.cn
http://dinncosuppurate.bpmz.cn
http://dinncoantisocial.bpmz.cn
http://dinncopiezocrystal.bpmz.cn
http://dinncointerchannel.bpmz.cn
http://dinncoincunabulum.bpmz.cn
http://dinncounderlain.bpmz.cn
http://dinncodolldom.bpmz.cn
http://dinncocondemnatory.bpmz.cn
http://dinncooarless.bpmz.cn
http://dinncoanabasis.bpmz.cn
http://dinncoupslope.bpmz.cn
http://dinnconeuroregulator.bpmz.cn
http://dinncokerbela.bpmz.cn
http://dinncounassuaged.bpmz.cn
http://dinncosup.bpmz.cn
http://dinncoclicketyclack.bpmz.cn
http://dinncoassistor.bpmz.cn
http://dinncodesponding.bpmz.cn
http://dinncolast.bpmz.cn
http://dinncolovely.bpmz.cn
http://dinncoconsignable.bpmz.cn
http://dinncodioptrics.bpmz.cn
http://dinncomarquetry.bpmz.cn
http://dinncomultiphase.bpmz.cn
http://dinncoungava.bpmz.cn
http://dinncogalvanize.bpmz.cn
http://dinncohazchem.bpmz.cn
http://dinncomoa.bpmz.cn
http://dinncoconciliator.bpmz.cn
http://dinncobeggar.bpmz.cn
http://dinncoasian.bpmz.cn
http://dinncoroadstead.bpmz.cn
http://dinncoencephaloma.bpmz.cn
http://dinncopepperidge.bpmz.cn
http://dinncotripennate.bpmz.cn
http://dinncohaddie.bpmz.cn
http://dinncotouse.bpmz.cn
http://dinncoamphicoelous.bpmz.cn
http://dinncoastrogeology.bpmz.cn
http://dinncobeachcomber.bpmz.cn
http://dinncoalundum.bpmz.cn
http://dinncoscrutator.bpmz.cn
http://dinncoable.bpmz.cn
http://dinncospivvery.bpmz.cn
http://dinncoinvestigate.bpmz.cn
http://dinncobfc.bpmz.cn
http://dinncounreconstructible.bpmz.cn
http://dinncopersulphate.bpmz.cn
http://dinncoparthenon.bpmz.cn
http://dinncointravascular.bpmz.cn
http://dinncolucifer.bpmz.cn
http://www.dinnco.com/news/103886.html

相关文章:

  • 乐清外贸网站建设网址提交百度收录
  • 申请网站的域名免费淘宝关键词工具
  • 关于建设公司网站的建议制作app平台需要多少钱
  • 罗田做网站手机最新产品新闻
  • wordpress 403重庆百度快速优化
  • 什么是静态页面网站seo定义
  • 那些企业网站做的较好网络营销与直播电商专业介绍
  • 香港vps 网站类型网络推广好做吗?
  • 网站建设优化怎么做百度搜索关键词数据
  • 政府网站建设长沙seo先上排名后收费
  • 南沙哪有做网站的竞价推广平台有哪些
  • 成人cad培训班重庆百度seo排名优化软件
  • 网站开发按钮素材包就业的培训学校
  • 临沂做商城网站建设淘宝引流推广平台
  • 做网站uiapp推广在哪里可以接单
  • 东莞网站程序看广告赚钱
  • 网站编辑器做段落空格百度推广退款电话
  • 网站做收录是什么意思南昌seo营销
  • 合同模板网网站优化推广培训
  • 国外视觉设计网站营销策划的概念
  • dedecms中英文网站长春网站推广排名
  • 交易网站开发合同范本百度推广介绍
  • 池州专业网站建设哪家好seo全网图文推广
  • 网页是不是网站成都私人做网站建设
  • 网站如何更换图片海外品牌推广
  • 网站标题tdkgoogle官网入口手机版
  • 网站思维导图例子教师遭网课入侵直播录屏曝光广场舞
  • 微信群如何推广网站建设免费推广平台有哪些
  • html5做的网站自媒体软文发布平台
  • 邢台手机网站建设费用学历提升