为了账号安全,请及时绑定邮箱和手机立即绑定

切片指针的 Golang 类型断言

切片指针的 Golang 类型断言

Go
牛魔王的故事 2023-06-12 12:50:00
有更好的方法吗?var collection []stringanyFunc(&collection) // validanyFunc(collection) // invalidanyFunc(nil) // invalidanyFunc("test") // invalidfunc anyFunc(collection interface{}) error {    rv := reflect.ValueOf(collection)    if rv.Kind() != reflect.Ptr || rv.IsNil() || reflect.Indirect(reflect.ValueOf(collection)).Kind() != reflect.Slice {        return errors.New("Invalid collection type, need pointer to slice.")    }    return nil}play.golang.org上的完整示例
查看完整描述

1 回答

?
MM们

TA贡献1886条经验 获得超2个赞

func loadData(collection interface{}) error {

    rv := reflect.ValueOf(collection)

    if rv.Kind() == reflect.Ptr && rv.Elem().Kind() == reflect.Slice {

        return nil  

    }

    return errors.New("Invalid collection type, need pointer to slice.")

}


查看完整回答
反对 回复 2023-06-12
  • 1 回答
  • 0 关注
  • 112 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信