gpt4 book ai didi

go - 类型接口(interface) {} 是没有方法的接口(interface)

转载 作者:IT王子 更新时间:2023-10-29 01:26:25 26 4
gpt4 key购买 nike

我正在使用 https://github.com/kataras/iris戈兰网络框架。这是此处提出的最后一个问题的后续邮件 - Fetching Logged in User Info for display - Golang Template

我终于使用了上一篇文章中提到的代码,例如:-

ctx.Values().Get("用户")

并且用户设置或拥有的值是“结构”类型:-

// 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 未定义(type interface {} 是没有方法的接口(interface))

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

最佳答案

A type assertion就是这样做的,断言一个值是给定的类型

userID := user.(users).ID

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

关于go - 类型接口(interface) {} 是没有方法的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46208216/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com