reflect.Value的CanConvert()方法如何使用?

huangapple go评论78阅读模式
英文:

How to use CanConvert() of reflect.Value

问题

我有一个reflect.Value类型的数据,我想检查该值是否可以转换为uint

这只是一个示例,希望你们能理解我的意思。

var myVal = new(reflect.Value)
if myVal.CanConvert(uint) { // 这个不起作用
   // 做一些操作...
}

我不知道我需要传递什么参数给CanConvert()函数。

英文:

I have a reflect.Value type of data and I want to check if the value can be convert to uint or not.

this is just an example hope you guys get the idea

var myVal = new(reflect.Value)
if myVal.CanConvert(uint) { // this doesn't work
   // do stuf...
}

I dont know what I have to pass as the argument of CanConvert()

答案1

得分: 2

CanConvert方法的参数是一个reflect.Type。使用reflect.TypeOf函数可以从类型的值中获取一个reflect.Type。

if myVal.CanConvert(reflect.TypeOf(uint(0))) {
   // 做一些操作...
}
英文:

The argument to the CanConvert method is a reflect.Type. Use the reflect.TypeOf function to get a reflect.Type from a value of the type.

if myVal.CanConvert(reflect.TypeOf(uint(0)) { 
   // do stuff...
}

huangapple
  • 本文由 发表于 2022年11月11日 15:23:45
  • 转载请务必保留本文链接:https://go.coder-hub.com/74399188.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定