反映测试值是否为字符串

时间:2018-06-18 18:36:51

标签: go reflection

我正在尝试测试来自gjson库的值是否是最快且最简单的字符串。我不想使用开关类型断言。

if reflect.TypeOf(gjson.Get(input, "name").Value()) != "string" {
    return "Not a string!"  
}

我的代码出了什么问题?

1 个答案:

答案 0 :(得分:5)

gjson.Get会返回Result,因此您只需检查其Type字段:

if gjson.Get(input, "name").Type != gjson.String {
    return "Not a string!"  
}