如何在Go中查找存储为字符串的值的数据类型?
我的所有变量都存储为字符串。例如,如何在Go中查找存储为字符串的值的数据类型?,go,types,Go,Types,我的所有变量都存储为字符串。例如,var boolVar=“false”。Go中是否有用于返回boolVar中值的数据类型的包 我可以想出一种有点麻烦的方法,使用strconv,然后使用if-else测试返回的错误,但我想知道是否有软件包已经提供了这种功能 var boolVar=“false” var type=“string” 如果u,err:=strconv.ParseBool(boolVar);err==nil{ type=“bool” } First go不是为满足这些要求而构建的,
var boolVar=“false”
。Go中是否有用于返回boolVar
中值的数据类型的包
我可以想出一种有点麻烦的方法,使用strconv,然后使用if-else测试返回的错误,但我想知道是否有软件包已经提供了这种功能
var boolVar=“false”
var type=“string”
如果u,err:=strconv.ParseBool(boolVar);err==nil{
type=“bool”
}
First go不是为满足这些要求而构建的,
但有一个为您提供的软件包要求:
请记住,它只能eval expr,而不能像python中的eval那样编写代码
package main
import (
"fmt"
"github.com/apaxa-go/eval"
)
func main() {
str := "int64(10*(1.1+2))"
exp, err := eval.ParseString(str, "")
if err != nil {
fmt.Println(err)
}
val, err := exp.EvalToInterface(nil)
if err != nil {
fmt.Println(err)
}
fmt.Printf("%v %T", val, val)
}
您的问题没有任何解决方案,您应该逐个检查所有类型