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

搭建网站的空间哪里买网站多语言切换

搭建网站的空间哪里买,网站多语言切换,页面设计自述,万网虚拟云空间怎么建设网站Go 语言中的 map 是一种非常强大的数据结构#xff0c;它允许我们快速地存储和检索键值对。 然而#xff0c;当我们遍历 map 时#xff0c;会有一个有趣的现象#xff0c;那就是输出的键值对顺序是不确定的。 现象 先看一段代码示例#xff1a; package mainimport 它允许我们快速地存储和检索键值对。 然而当我们遍历 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])} }
http://www.yayakq.cn/news/4344/

相关文章:

  • 免费网站建太原网站建设工作室
  • 南宁网站建站公司如何做考试网站
  • 网站速度慢的原因开发一个游戏的过程
  • 京东优惠券网站建设wap网站为什么没有了
  • 网站后台上传图片 不可用湖北做网站多少钱
  • 网站没有排名四川建设安全监督管理局网站
  • 微信网站这么做可以看违禁网页的浏览器
  • 深圳网站建设公司首选中国建设银行福清分行网站
  • 城市文化建设的网站网页制作与发布的流程
  • 黄页网站推广方案哪个网站做美食自媒体更好
  • 哪些网站能够免费做公考题网站开发的出路
  • 短视频运营公司网站建设打开网站iis7
  • 嘉兴房地产网站建设优化教程网
  • 中山网站快照优化公司wordpress 功能开发
  • 旅游网站制作内容网站建设推进计划
  • 北京 网站设计网站建设横幅系列素材
  • 用wordpress编写网站昆山网站备案
  • 做公司展示网站晋江网站建设联系电话
  • 山西古建筑网站包头怎样做网站
  • 自己做电台直播的网站绿色主题+wordpress
  • 长沙网站建设有限公司网页小游戏开发
  • 如何免费做网站推广的商城网站建设效果
  • 手机网站qq咨询代码新手建站1 网站建设过程一览
  • 网站开发时app打开很慢中国制造网外贸网登录
  • 简单的响应式网页南昌网站seo哪家公司好
  • 做钻石的网站东莞网站建设 喷砂机
  • 网站建设找盛誉网络网站制作技术支持
  • 如何做网站流量买卖深圳网站建设亿联时代
  • 纯静态单页网站笑话网站模版
  • 网站图片装修的热切图怎么做线上推广营销策划