加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Golang中unsafe.Sizeof()的问题

发布时间:2020-12-16 09:42:37 所属栏目:大数据 来源:网络整理
导读:*今天看到一段代码感觉很奇怪。。。* 代码的如下 package main import "unsafe" const ( a = "abc" b = len (a) c = unsafe.Sizeof(a)) func main(){ println (a,b,c)} 代码运行结果如下 感觉很奇怪。。为什么unsafe.Sizeof(a)计算出来的值是16?问题先写出

*今天看到一段代码感觉很奇怪。。。*

代码的如下

package main

import "unsafe"
const (
    a = "abc"
    b = len(a)
    c = unsafe.Sizeof(a)
)

func main(){
    println(a,b,c)
}

代码运行结果如下

感觉很奇怪。。为什么unsafe.Sizeof(a)计算出来的值是16?问题先写出来,我要去好好研究一下。。。

初步解释:因为Golang中的sring内部实现由两部分组成,一部分是指向字符串起始地址的指针,另一部分是字符串的长度,两部分各是8字节,所以一共16字节

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读