类型interface {}是没有方法的接口

约翰·卡戈(John Cargo):

我正在使用https://github.com/kataras/iris golang网络框架。这是来自此处最后一个问题的后续邮件- 获取登录的用户信息以进行显示-Golang模板

我最终使用的是上一篇文章中提到的代码,例如:

ctx.Values().Get("user")

并且用户设置或拥有的值为“ Struct”类型:-

// users is struct below

var user users

// details are fetched from DB and assigned to user 
// like mentioned here http://go-database-sql.org/retrieving.html 
// Now value is set
ctx.Values().Set("user", user);

但是获取值之后,当我在其他处理程序中使用并打印时:-

user := ctx.Values().Get("user")
fmt.Println(user.ID)

我收到错误:

user.ID undefined (type interface {} is interface with no methods)

我需要接口的“类型断言”方面的帮助。我如何“键入断言”高于价值?

米洛·克里斯蒂安森(Milo Christiansen):

一个类型断言做到了这一点,断言值是给定的类型

userID := user.(users).ID

使用它们键入名称,它应该可以工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JDBC类型的没有方言映射:1111

没有实现接口的所有方法

没有方法的接口

Golang类型的接口{}是没有方法的接口

没有方法签名:java.util.Date.parse()适用于参数类型

如何解决“类型接口没有字段或方法”错误?

foo.Name未定义(类型接口{}没有字段或方法名称)

没有方法签名:java.util.ArrayList.getAt()适用于参数类型:(HashMap)值:[[:]]

类型'State <List <User>?>'没有方法'getValue(Nothing ?, KProperty <*>)',因此不能充当委托

有没有一种方法可以“提取” TypeScript接口属性的类型?

没有方法签名:适用于Groovy中的参数类型错误

c ++-通过抽象模板基类接口指针访问派生类方法,而接口中没有显式类型

如何将Iterable <interface>返回类型方法重写为Iterable <?延伸接口>返回类型方法

数组类型可以有方法吗?

打字稿:映射类型:没有方法的接口类

没有方法的类型类,用作约束:它们是否获得字典?

有没有一种方法可以从接口属性中提取Array类型的通用类型?

类实现接口,但是成员变量方法的参数没有类型?

JDBC类型没有方言映射:2003

MappingException:JDBC类型的没有方言映射:2002

javascript中未捕获的类型错误:对象没有方法

声明中的循环引用:类型错误:对象#<Object>没有方法'call'

使用没有特定类型的通用接口?

MethodError:实例化类型时,“ convert”没有方法将数学转换为convert(:: T)

类型错误:没有方法“isAbsolute”

Spring Data MongoDB - 没有方法签名适用于参数类型

模拟 jenkins.model.Job 的 getLastSuccessfulBuild 结果没有方法签名适用于参数类型

Bazel 错误:类型“java_common”没有方法 create_provider()

类型 stack.Stack 没有方法 Push