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

通过字符串名称将类型转换为特定的结构类型

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

通过字符串名称将类型转换为特定的结构类型

这不可能。Go是一种静态类型的语言,这意味着必须在编译时知道变量和表达式的类型。

在类型断言中:

x.(T)

[…]如果类型断言成立,则表达式的值为存储在其中的值

x
,其类型为
T

因此,您可以使用类型断言来获取(或测试)您指定的类型的值。

什么时候做:

stringName := "Testing"newTestingVariable.(stringName)

会是什么 类型 的类型声明的结果?你没说 您指定了一个

string
包含类型名称的值,但这只能在 运行时确定
。(是的,在上面的示例中,编译器可以跟踪作为常量值给出的值,但是在一般情况下,这在编译时是不可能的。)

因此,在编译时,编译器只能将其

interface{}
用作类型表达式结果的类型,那么又有什么意义呢?

如果要动态地测试

x
的类型
T
(或者接口值是否
x
实现
T
),则可以对该类型(包
reflect
)使用反射。在这种情况下,您将使用a
reflect.Type
来指定要测试的类型,而不是
string
其名称的表示形式。



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

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

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