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

免费主页空间申请网站西城网站建设公司

免费主页空间申请网站,西城网站建设公司,wordpress dashicons,高端品牌网站建设定位文章目录 前言现象原因如何顺序读取推荐阅读 前言 Go 语言中的 map 是一种非常强大的数据结构#xff0c;它允许我们快速地存储和检索键值对。 然而#xff0c;当我们遍历 map 时#xff0c;会有一个有趣的现象#xff0c;那就是输出的键值对顺序是不确定的。 现象 先看… 文章目录 前言现象原因如何顺序读取推荐阅读 前言 Go 语言中的 map 是一种非常强大的数据结构它允许我们快速地存储和检索键值对。 然而当我们遍历 map 时会有一个有趣的现象那就是输出的键值对顺序是不确定的。 现象 先看一段代码示例 package mainimport fmtfunc main() {m : map[string]int{apple: 1,banana: 2,orange: 3,}for k, v : range m {fmt.Printf(key%s, value%d\n, k, v)} }当我们多执行几次这段代码时就会发现输出的顺序是不同的。 原因 首先Go 语言 map 的底层实现是哈希表在进行插入时会对 key 进行 hash 运算。这也就导致了数据不是按顺序存储的和遍历的顺序也就会不一致。 第二map 在扩容后会发生 key 的搬迁原来落在同一个 bucket 中的 key搬迁后有些 key 可能就到其他 bucket 了。 而遍历的过程就是按顺序遍历 bucket同时按顺序遍历 bucket 中的 key。 搬迁后key 的位置发生了重大的变化有些 key 被搬走了有些 key 则原地不动。这样遍历 map 的结果就不可能按原来的顺序了。 最后也是最有意思的一点。 那如果说我已经初始化好了一个 map并且不对这个 map 做任何操作也就是不会发生扩容那遍历顺序是固定的吗 答也不是。 Go 杜绝了这种做法主要是担心程序员会在开发过程中依赖稳定的遍历顺序因为这是不对的。 所以在遍历 map 时并不是固定地从 0 号 bucket 开始遍历每次都是从一个随机值序号的 bucket 开始遍历并且是从这个 bucket 的一个随机序号的 cell 开始遍历。 如何顺序读取 如果希望按照特定顺序遍历 map可以先将键或值存储到切片中然后对切片进行排序最后再遍历切片。 改造一下上面的代码让它按顺序输出 package mainimport (fmtsort )func main() {m : map[string]int{apple: 1,banana: 2,orange: 3,}// 将 map 中的键存储到切片中keys : make([]string, 0, len(m))for k : range m {keys append(keys, k)}// 对切片进行排序sort.Strings(keys)// 按照排序后的顺序遍历 mapfor _, k : range keys {fmt.Printf(key%s, value%d\n, k, m[k])} }在上面的代码中首先将 map 中的键存储到一个切片中然后对切片进行排序。 最后按照排序后的顺序遍历 map。这样就可以按照特定顺序输出键值对了。 推荐阅读 Go 语言教程–介绍一Go 语言教程–语言结构二Go 语言教程–语言结构三Go 语言教程–数据类型四Go 语言教程–语言变量五Go 语言教程–GO语言常量六Go 语言教程–GO语言运算符七Go 语言教程–GO条件和循环语句八Go 语言教程–GO语言函数九Go 语言教程–GO语言变量作用域十Go 语言教程–GO语言数组十一Go 语言教程–GO语言指针十二Go 语言教程–GO语言结构体十三Go 语言教程–GO语言切片(Slice)十四Go 语言教程–Go 语言范围(Range)十五Go 语言教程–Go 语言Map(集合)十六Go 语言教程–Go 语言递归函数十七Go 语言教程–Go 语言类型转换十八Go 语言教程–Go 语言接口十九Go 语言教程–Go 错误处理二十Go 语言教程–Go 并发二十一
http://www.sczhlp.com/news/216194/

相关文章:

  • 武昌做网站多少钱海外网站域名
  • 昂贵多目标优化
  • 网站建设论文建设银行中国网站首页
  • 免费企业营销网站制作网站浏览器图标怎么做
  • 濮阳网站建设 公司名字自己做网站还能挣钱吗
  • 电脑突然多了windows优化大师网站关键词优化方式
  • 合川网站优化seo算法是什么
  • 网站建设与代运营产品介绍可以做网站的app
  • 产品推广网站设计网站界面风格设计描述
  • 三大框架对网站开发的作用产品展示网站 模板
  • 网站设计制作花多少钱苏州网站提升排名
  • 婴儿衣服做的网站创维爱内购网站
  • 公司制作网站费用wordpress 侧边栏菜单 翻译
  • 深圳坂田网站设计公司有哪些自助建站哪个网站好
  • 淘客优惠券网站建设国家和住房城乡建设部网站
  • 松江区网站建设网站建设与管理2018
  • Oracle数据库
  • AI元人文:岐金兰的“阴谋”
  • 操作系统应用开发(二十一)RustDesk 域名访问故障—东方仙盟筑基期 - 详解
  • 完整教程:【STM32】通用输入输出端口GPIO
  • 网站美化教程下载局网站建设工作
  • 手机上怎么支持wap网站东莞房价下跌
  • 商城网站建设协议263企业邮箱官方入口
  • 天津住房和城乡建设建造师网站wordpress可以接广告吗
  • 网站推广合同手机app网站建设
  • 邯郸网站制作找谁凡度网络北京网站建设公司
  • 创建网站的向导和模板 信息技术教资面试code snippets wordpress
  • 深圳住房和建设局网站融悦居网站前端设计是什么
  • 网站建设seo优化培训佛山网站公司建设网站
  • 汕头网站建设模板制作wordpress 美术馆