加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang 中 cannot use ** (type interface {}) as type **解决方

发布时间:2020-12-16 18:36:28 所属栏目:大数据 来源:网络整理
导读:在beego中从session中取值的时候,取出来的是intergace{},但是我先返回的值是int型,或者是string,这个时候会出现一个错误: cannot use ** (变量)(type interface {}) as type **(类型) 错误代码: func CurrentId(ctx *context.Context) int { userS

在beego中从session中取值的时候,取出来的是intergace{},但是我先返回的值是int型,或者是string,这个时候会出现一个错误:
cannot use ** (变量)(type interface {}) as type **(类型)

错误代码:

func CurrentId(ctx *context.Context) int {
    userStr := ctx.Input.CruSession.Get("user_id")
    return userStr
}

从session中取出来的是一个interface类型,无法直接转换,我在给user_id赋值的时候是给的int类型。
因此直接对userStr进行转换即可。

正确代码如下:

func CurrentId(ctx *context.Context) int {
    userStr := ctx.Input.CruSession.Get("user_id")
    return userStr.(int)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读