您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

无法将数据(类型接口{})转换为字符串类型:需要类型断言

无法将数据(类型接口{})转换为字符串类型:需要类型断言

根据Go规范

对于接口类型和类型T的表达式x,主表达式x。(T)断言x不是nil,并且存储在x中的值是T类型。

“类型断言”允许您声明一个接口值包含某个特定类型或它的具体类型满足另一个接口。

在您的示例中,您断言数据(类型interface {})具有具体的类型字符串。如果输入错误,则程序将在运行时崩溃。您无需担心效率,只需要比较两个指针值即可。

如果不确定是否为字符串,则可以使用两种返回语法进行测试。

str, ok := data.(string)

如果data不是字符串,则ok为假。然后通常将这样的语句包装到if语句中,如下所示:

if str, ok := data.(string); ok {
    /* act on str */
} else {
    /* not string */
}
其他 2022/1/1 18:14:14 有460人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶