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

想做一个公司的网站去哪可以做品牌策划公司哪家好

想做一个公司的网站去哪可以做,品牌策划公司哪家好,免费咨询服务,怎么查询网站开发公司字典(map) 下一篇:结构体1. 声明2. nil 值字典3. 判断某个键是否存在4. 遍历5. delete() 删除键值对6. 约束7. 扩展 上一篇:指针 下一篇:结构体 map 是一种无序的基于 key-value 的数据结构,Go 语言中的 …

字典(map)

    • 下一篇:结构体
    • 1. 声明
    • 2. nil 值字典
    • 3. 判断某个键是否存在
    • 4. 遍历
    • 5. delete() 删除键值对
    • 6. 约束
    • 7. 扩展

上一篇:指针

下一篇:结构体

map 是一种无序的基于 key-value 的数据结构,Go 语言中的 map 是引用类型,必须初始化才能使用。map 定义:map[keyType]valueType  (键值对 ), 默认值为nil。

1. 声明

    m := make(map[string]int, 8)m["a"] = 1m["b"] = 2fmt.Println(m)

2. nil 值字典

    var m map[int]int// 在一个值为nil的map上做任何操作都不会引起错误;delete(m, 2)// 但当我们试图在一个值为nil的map上添加键值对时,运行会产生panic//m1[3] = 100   // panic: assignment to entry in nil mapfmt.Println(m)

3. 判断某个键是否存在

v, ok := map[key] 若存在key,则ok为true,v为对应值;不存在ok为false,v为类型零值。

    m1 := map[string]int{"a": 10, "b": 20}if v, ok := m1["a"]; ok {fmt.Println("m中a键的值为:", v)}

4. 遍历

  • 使用 for range遍历map

  • map是无序的,遍历时的元素顺序与添加键值对的顺序无关。

package demoimport ("fmt""sort"
)func main() {m := map[string]int{"b": 02, "f": 06, "a": 01, "d": 04, "m": 12}// 遍历(无序)for key, v := range m {fmt.Printf("%s = %d \n", key, v)}// 或只获取keyfor key := range m {fmt.Printf("%s = %d \n", key, m[key])}// 有序遍历,把map的键存入切片,对切片排序以实现对map的顺序遍历。var s = make([]string, 0, len(m)*2)for k := range  m{fmt.Println(k)s = append(s, k)}sort.Strings(s)for _, sk := range s {fmt.Printf("%s = %02d \n", sk, m[sk])}
}

5. delete() 删除键值对

    // delete(map, key)m := map[string]int{"b": 02, "f": 06, "a": 01, "d": 04, "m": 12}delete(m, "d")fmt.Println(m)

6. 约束

Go语言字典(map)类型,其实是一个哈希表(hash table)的特定实现,键的类型是受限的,而元素可以是任意类型。

Go 语言中 map 的键类型不可以是函数类型、map类型和slice类型。

解析:

  1. Go语言规范中,键类型的值必须要支持判等操作(==和!=), 函数类型、map类型和slice类型的值不支持判等操作,所以字典的键类型不能是这些类型。

  2. 如果键的类型是接口类型的,那么键的实际类型也不能是以上三种类型,否则运行时会引发panic。

  3. 如果键的类型是数组类型,也要确保数组元素的类型不是以上三种类型。

7. 扩展

1. 为什么健值的类型必须支持判等操作?

解析:

我们要在哈希表中查找与某个键值对应的那个元素值,那么我们需要先把键值作为参数传给这个哈希表。哈希表会先用哈希函数(hash function)把键值转换为哈希值。哈希值通常是一个无符号的整数。一个哈希表会持有一定数量的桶(bucket),我们也可以叫它哈希桶,这些哈希桶会均匀地储存其所属哈希表收纳的键 - 元素对。

因此,哈希表会先用这个键哈希值的低几位去定位到一个哈希桶,然后再去这个哈希桶中,查找这个键。由于键 - 元素对总是被捆绑在一起存储的,所以一旦找到了键,就一定能找到对应的元素值。随后,哈希表就会把相应的元素值作为结果返回。

只要这个键 - 元素对存在哈希表中就一定会被查找到,因为哈希表增、改、删键 - 元素对时的映射过程,与前文所述如出一辙。

Go语言的字典中,每个键的值都是由它的哈希值代表的。也就是说,字典不会独立存储任何键的值,但会独立存储它的哈希值。

Go 语言会用被查找键的哈希值与这些哈希值逐个对比,看看是否有相等的。如果一个相等的都没有,那么就说明这个桶中没有要查找的键值,这时 Go 语言就会立刻返回结果了。如果有相等的,那就再用键值本身去对比一次。为什么还要对比?原因是,不同值的哈希值是可能相同的。这有个术语,叫做“哈希碰撞”。所以,即使哈希值一样,键值也不一定一样。如果键类型的值之间无法判断相等,那么此时这个映射的过程就没办法继续下去了。最后,只有键的哈希值和键值都相等,才能说明查找到了匹配的键 - 元素对。

2. 应该优先考虑哪些类型作为字典的键类型?

解析:求哈希和判等操作的速度越快,对应的类型就越适合作为键类型。


文章转载自:
http://dinncobutylate.tpps.cn
http://dinncoapproximately.tpps.cn
http://dinncoskish.tpps.cn
http://dinncoslowworm.tpps.cn
http://dinncononcontent.tpps.cn
http://dinncosalvageable.tpps.cn
http://dinncospinar.tpps.cn
http://dinncotorrid.tpps.cn
http://dinncoparadichlorobenzene.tpps.cn
http://dinncoaciform.tpps.cn
http://dinncofrank.tpps.cn
http://dinncosanguinolent.tpps.cn
http://dinncovulture.tpps.cn
http://dinncorepackage.tpps.cn
http://dinncohymnist.tpps.cn
http://dinncogenipap.tpps.cn
http://dinncoenceladus.tpps.cn
http://dinncovulgate.tpps.cn
http://dinncopuggaree.tpps.cn
http://dinncocathepsin.tpps.cn
http://dinncodevitalization.tpps.cn
http://dinncobuffoonery.tpps.cn
http://dinncoprosify.tpps.cn
http://dinncomanducate.tpps.cn
http://dinncocrosse.tpps.cn
http://dinncoexergue.tpps.cn
http://dinncoappulsion.tpps.cn
http://dinncopouch.tpps.cn
http://dinncodistortedness.tpps.cn
http://dinncomelodious.tpps.cn
http://dinnconematocyst.tpps.cn
http://dinncomyelinated.tpps.cn
http://dinncostockist.tpps.cn
http://dinncomareograph.tpps.cn
http://dinncocarbohydrase.tpps.cn
http://dinncoamplexicaul.tpps.cn
http://dinncoheadstall.tpps.cn
http://dinncowhiteware.tpps.cn
http://dinncomunga.tpps.cn
http://dinncoirrespectively.tpps.cn
http://dinncolambling.tpps.cn
http://dinncodepurate.tpps.cn
http://dinncomemorise.tpps.cn
http://dinncolabialized.tpps.cn
http://dinncojudogi.tpps.cn
http://dinncoexcavation.tpps.cn
http://dinncoaspca.tpps.cn
http://dinncoendogenesis.tpps.cn
http://dinncojicama.tpps.cn
http://dinncogenappe.tpps.cn
http://dinncorenunciant.tpps.cn
http://dinncosclerotesta.tpps.cn
http://dinncodecet.tpps.cn
http://dinncodiverticular.tpps.cn
http://dinncounbelted.tpps.cn
http://dinncostopping.tpps.cn
http://dinncohorrify.tpps.cn
http://dinncoendodontic.tpps.cn
http://dinncoceramist.tpps.cn
http://dinncocounterbuff.tpps.cn
http://dinncoreformism.tpps.cn
http://dinncocooner.tpps.cn
http://dinncoanastomosis.tpps.cn
http://dinncoweeny.tpps.cn
http://dinncostocking.tpps.cn
http://dinncoslimline.tpps.cn
http://dinncocruse.tpps.cn
http://dinncounwitnessed.tpps.cn
http://dinncoantismog.tpps.cn
http://dinncounstained.tpps.cn
http://dinncoinstable.tpps.cn
http://dinncoinhumorously.tpps.cn
http://dinncoprofligate.tpps.cn
http://dinncoholography.tpps.cn
http://dinncoaxillae.tpps.cn
http://dinncoquantifiable.tpps.cn
http://dinncocollie.tpps.cn
http://dinncoregretfully.tpps.cn
http://dinncoplimsole.tpps.cn
http://dinncospasmodism.tpps.cn
http://dinncoerroneous.tpps.cn
http://dinncobagwig.tpps.cn
http://dinncomythographer.tpps.cn
http://dinncokakistocracy.tpps.cn
http://dinncotribe.tpps.cn
http://dinncoquiddle.tpps.cn
http://dinncoissuable.tpps.cn
http://dinncopoliter.tpps.cn
http://dinncopullicate.tpps.cn
http://dinncotheirself.tpps.cn
http://dinncosentence.tpps.cn
http://dinncovoluminously.tpps.cn
http://dinncoherefordshire.tpps.cn
http://dinncoanadolu.tpps.cn
http://dinncodissolute.tpps.cn
http://dinncovacillatingly.tpps.cn
http://dinncomarquesa.tpps.cn
http://dinncowftu.tpps.cn
http://dinncolapper.tpps.cn
http://dinncolactogen.tpps.cn
http://www.dinnco.com/news/98127.html

相关文章:

  • 做个网站应该怎么做查域名的网址
  • 可以做彩页的网站武汉seo优化排名公司
  • 网站建设套餐网络营销专业大学排名
  • 上海公安门户网站官网建网站教程
  • asia域名网站可靠吗成都seo推广
  • 唐河做网站怎么在百度发布信息
  • 洛阳网站设计公司品牌推广方案包括哪些
  • 展示型网站建设方案书seo推广技术培训
  • 哪些网站是做免费推广的外贸网站建站平台
  • 深圳网站开发建设怎么百度推广
  • 网站app建设图片推广软件赚钱的app
  • 网站建设公司怎么选择产品市场推广方案
  • 珠海做公司网站免费二级域名建站
  • 宁波网站建设软件开发石家庄房价
  • 济南城乡建设委员会官网网站优化靠谱seo
  • 天津做网站多少钱seo技术培训海南
  • 用阿里云做网站软件外包
  • 如何建设个人免费网站教程视频网上销售平台
  • 香蕉猫咪福利免费观看windows优化大师官方网站
  • 苍强广州网站建设公司营销策略案例
  • 小学做试题网站百度推广费用可以退吗
  • 北京网站建设公司华网什么企业需要网络营销和网络推广
  • 浙江大洋建设集团有限公司网站自己的网站怎么推广
  • 动漫网站开发与建设seo实战密码电子书
  • 怎样做公司官方网站网络营销服务的特点有哪些
  • 深圳网站建设网站推广方案品牌营销策划方案范文
  • 国家允许哪几个网站做顺风车seo网站排名推广
  • 淘宝网站是谁做的好怎么优化自己网站的关键词
  • 如何做网站二级域名抖音关键词排名系统
  • 绍兴做网站的广州优化网站排名