gpt4 book ai didi

go - 如何通过另一个值的 reflect.Type 在 Golang 中转换值类型

转载 作者:IT王子 更新时间:2023-10-29 00:44:15 36 4
gpt4 key购买 nike

Golang中如何通过另一个值的reflect.Type转换值类型可能是这样的:

func  Scan(value interface{}, b string) error {
converted := value.(reflect.TypeOf(b)) // do as "value.(string)"
return nil
}

如何在 golang 中正确地做到这一点?

最佳答案

从接口(interface)中获取类型化值的唯一方法是使用类型断言,语法为 value.(T),其中 T 是类型。这是有充分理由的,因为它使类型断言表达式的类型可计算:value.(T) 具有类型 T。相反,您允许 value.(E) 其中 E 是一些计算结果为 reflect.Type 的表达式(我认为这是你问题的要点),那么编译器没有办法(通常) 静态确定 value.(E) 的类型,因为它取决于任意计算的结果。

关于go - 如何通过另一个值的 reflect.Type 在 Golang 中转换值类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23754442/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com