IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Go语言中cannot convert cacheData (type interface {}) to type *: need type assertion 的解决办法(断言)

    李鹏发表于 2016-08-11 08:21:13
    love 0

    我在写项目时突然遇到一个报错:

    cannot convert cacheData (type interface {}) to type []uint8: need type assertion

    这个报错的解决办法是:

    cacheData.(TYPE)

    但是如果断言失败一般会导致panic的发生。所以为了防止panic的发生,我们需要在断言前进行一定的判断,如果断言失败,那么ok的值将会是false,但是如果断言成功ok的值将会是true,同时value将会得到所期待的正确的值。示例:

    value, ok := a.(string)
    if !ok {
    fmt.Println(“It’s not ok for type string”)
    return
    }
    fmt.Println(“The value is “, value)

    如果需要具体了解,请查验 go 语言中 断言的相关资料。

     

     

     

     

     



沪ICP备19023445号-2号
友情链接