栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

获取接口内部的值地址

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

获取接口内部的值地址

要了解为什么不可能这样做,考虑一下接口变量实际上是什么很有帮助。接口值占两个字,第一个描述所包含值的类型,第二个(a)保存所包含的值(如果它适合字内)或(b)指向该值的存储指针(如果该值不适合一个单词)。

需要注意的重要事项是:(1)包含的值属于接口变量,并且(2)当为变量分配新值时,可以重复使用该值的存储。知道这一点,请考虑以下代码:

var v interface{}v = int(42)p := GetPointerToInterfacevalue(&v) // a pointer to an integer holding 42v = &SomeStruct{...}

现在,该整数的存储已被重用以保存指针,并且

*p
现在是该指针的整数表示。您可以看到它具有打破类型系统的能力,因此Go并没有提供执行此操作的方法(除了使用
unsafe
软件包之外)。

如果您需要一个指向要存储在列表中的结构的指针,那么一种选择是将指针存储到列表中的结构,而不是直接存储结构值。另外,您可以将

*list.Element
值作为对所包含结构的引用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/426896.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号