范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

golang2021数据格式(93)获取slice与map长度

  获取 slice 长度 #
  通过前面关于 slice 的文章,我们知道了 slice header 的结构体定义:
  1
      2       3       4       5       6   // runtime/slice.go       type slice struct {           array unsafe.Pointer // 元素指针             len   int // 长度             cap   int // 容量       }   调用 make 函数新建一个 slice,底层调用的是 makeslice 函数,返回的是 slice 结构体:   1
  func   makeslice(et *_type, len, cap int) slice   因此我们可以通过 unsafe.Pointer 和 uintptr 进行转换,得到 slice 的字段值。   1
      2       3       4       5       6       7       8func   main() {               s := make([]int, 9, 20)               var   Len = *(*int)(unsafe.Pointer(uintptr(unsafe.Pointer(&s)) +   uintptr(8)))               fmt.Println(Len, len(s)) // 9 9   var   Cap = *(*int)(unsafe.Pointer(uintptr(unsafe.Pointer(&s)) +   uintptr(16)))               fmt.Println(Cap, cap(s)) // 20 20       }   Len,cap 的转换流程如下:   1
      2   Len: &s => pointer => uintptr => pointer => *int => int       Cap: &s => pointer => uintptr => pointer   => *int => int   获取 map 长度 #   再来看一下上篇文章我们讲到的 map:    1        2        3        4        5        6        7        8        9       10       11       12       13type   hmap struct {               count     int               flags     uint8               B         uint8               noverflow uint16               hash0     uint32   buckets      unsafe.Pointer               oldbuckets   unsafe.Pointer               nevacuate  uintptr   extra *mapextra       }   和 slice 不同的是,makemap 函数返回的是 hmap 的指针,注意是指针:   1
  func   makemap(t *maptype, hint int64, h *hmap, bucket unsafe.Pointer) *hmap   我们依然能通过 unsafe.Pointer 和 uintptr 进行转换,得到 hamp 字段的值,只不过,现在 count 变成二级指针了:   1
      2       3       4       5       6       7       8func   main() {               mp := make(map[string]int)               mp["qcrao"] = 100               mp["stefno"] = 18   count := **(**int)(unsafe.Pointer(&mp))               fmt.Println(count, len(mp)) // 2 2       }   count 的转换过程:   1
  &mp => pointer => **int => int

阿里女员工入住酒店否认违规制作房卡!主打人文情怀,数次IPO折戟中新经纬客户端8月11日电(付玉梅)阿里男高管疑似侵害女员工事件仍在发酵。其中,该名高管为何能顺利办理房卡进入女子房间,系事件的争议之一。女员工未披露涉事酒店名,酒店方也迟迟未出来阿里,牵一发而动全身近期阿里事件很多人议论纷纷,各种对案件的分析头头是道,我可以很明确的告诉你,表相绝对不会是真相,女方的陈述,阿里的处理,等等现在都不是最重要的,看的懂的没人去看这个案子,都在看人民区块链正在抛弃普通人最近这些天,我一直在思考。可以看出区块链技术的发展得越来越复杂,普通人想要去理解越来越难,已经远不止之前所谓的唯一性,不可篡改性,匿名性等概念,这些概念都是区块链的底层逻辑,而现在PLC工控行业的远程控制方法工业控制领域在朝着智能互联的方向发展也随之出现了三大难题1。设备位置分布较分散,现场的设备运行状况难以监管。2。不同设备间的协议,接口,品牌不同,难以对接。3。原有网络结构简单,往LinuxCentOS7开启ssh远程登录,附修改主机名的方法1。准备opensshserver输入以下命令检查是否已安装opensshserver,若已安装,则会输出相应信息rootsagecatyumlistinstalledgrepop新能源车价值重估下低位氢燃料电池开启补涨财联社(上海编辑向阳)讯,近期作为新能源车概念之一的锂电池累积涨幅非常大,每个细分领域都有不错表现,而氢燃料电池却不温不火,走势可以说相对低迷,直到近几日才开始有部分标的逐步转强,新能源汽车投资分析,不同技术的区别一文读懂从纯电动车(BEV)混合动力车(HEV)插电式混合动力车(PHEV)到轻混合动力车(MHEV),你对各类电动车知道多少?本文卦哥家财经为你逐一分析各类电动车。文卦哥家有鉴于对环境的华为,为什么不受待见?文楚劲草华为,是全球创新能力排名第8(中国第1)的中国企业,全球品牌价值排名15(中国第4),是中国每年研发投入最多的企业,是中国纳税排名第3的企业,这样的一个巨无霸,多次被其他厂小米11系列真的会烧wifi?官方推出服务政策,网友终于等到小米11系列的烧wifi问题一直以来就困扰着米粉们,终于小米官方回应了这件事,并做了一系列政策措施,比如支持换新机,退货,保修等,政策虽然来的晚了一点,但做的还不错,那么为什么小米小米MIX4定档,8月10日他来了他来了雷布斯带着小米MIX4走来了。同时也迎来了小米10周年,雷军会有年度演讲。2016年小米MIX横空出世,屏占比高达91。3,定义了全面屏。2018年,小米MIX3开创性北斗星通服务于5G通信和军工行业,受到国家大基金的扶持随着北斗三号全球卫星导航系统建成开通智能化时代的到来,我国北斗产业化进入了加速发展的黄金时期。北斗星通将顺应用户需求与商业模式变革技术融合发展等趋势,紧抓历史机遇,持续创新突破,开
特斯拉冬季再遇车门把手被冻住,车主用热水浇!官方早有回应寒潮来袭,特斯拉的隐藏车门把手又冻住了。近期,北京等地突降大雪,气温骤降。有部分特斯拉车主在社交平台和视频平台上表示,自己的特斯拉车门把手被冻住了。微博大V硬哥分享了一段视频,拿出华为巅峰之作!骁龙898200倍变焦一亿像素四摄,你会买吗?不买,麒麟不回归不买华为了,目前妹特30pro用坏再说吧!我可以告诉你,摩托罗拉已经出了一个一个亿像素的手机了,才2000多块钱。买不起,没钱。我不要全面屏他们员工都开国产车了我再极兔搅局中国市场,众多快递巨头惨了网购作为互联网通讯技术发展下的主要应用之一,在经过了数年生长发展的野蛮期之后,逐步进入平稳阶段,某宝某东某多多等互联网巨头也彻底坐稳了自己的位置。而快递作为网购产业发展下获得新生命京东11。11晚8点如何推动电商大促的变革?一年一度的11。11年终大促如期而至,这场历经了13年的电商节日,在2021年的11。11终于不用再熬夜买买买,京东将购物时间提前至晚八点,为11。11带来了新的变革。如果问一句有滴滴外卖要来了?!推出嗷嗷吃饭,这是要重拾外卖再战美团?1hr滴滴推出嗷嗷吃饭,重拾外卖再战美团?信息来源Tech星球在2019年滴滴外卖业务失利后,滴滴正卷土重来,再次进入美团核心地带,探索外卖市场。记者从多个独立信源处独家获悉,滴滴美女为创业名校退学,编故事骗600亿投资,被揭穿后下场如何?一滴血究竟能创造出多大的价值呢?这个从斯坦福大学辍学的女人凭借她的核心发明,仅用一滴血就创造了一个价值600亿的项目,一时间,美国军政商界的各类巨头们纷纷给予了她最大的支持,而她本三星GalaxyS21Ultra5G遇见山岭秋天晴朗的周末去山里看看秋天,结果不但看到了深秋,还意外地看到了初冬EXIF信息2。20厂商samsung型号SMG9980光圈2。4ISO50曝光时间0。002时间202110171200元600元性价比高的电饭锅怎么选?7款热门畅销电饭煲亮点推荐创作立场声明哈咯,我是爱烘焙也爱买买买的山贼95270。这次来聊聊电饭锅选购,同时推荐几款非常不错的电饭煲,可以趁着双十一一波好价买买买!欢迎大家理性交流,愉快买买买!写在前面电饭人到中年换什么手机?这三款既有面子,又实用,你用过吗?如今,随着各大手机厂商竞争越来越激烈,手机更新换代速度也越来越快,但是总有那么几款手机,备受赞誉,更是各大品牌的出货量常青树。特别是对于中年男人来说,这些手机,都有着身份和地位的象耳机也内卷了?百元漫步者LolliPodsPro降噪耳机却有千元降噪体验作为一个深度游戏爱好者,我对于游戏过程当中的音质体验要求是非常高的,但是我已有的耳机耳麦中几乎都不能给我提供一个很好的游戏体验,所以我也很苦恼,但是我的好朋友给我推荐了漫步者Lol在家电领域学小米,很危险花钱买的大屏冰箱,却自动播广告,让消费者在家里享受电梯间待遇。云米冰箱这个神功能引起众多消费者吐槽,和智能电视的强制30秒开机广告一样惹来巨大争议。而云米冰箱背后,正是曾经前途光明