指针,数组和切片的结构值

指针,数组和切片的结构值,第1张

指针,数组和切片的结构值

如果你只是想要的类型,即使片是零,你可以使用像这样:

func value(m interface{}) reflect.Type {    t := reflect.Indirect(reflect.ValueOf(m)).Type()    if t.Kind() == reflect.Slice || t.Kind() == reflect.Array {        t = t.Elem()        if t.Kind() == reflect.Ptr { t = t.Elem()        }        return t    }    return t}

关于

Type.Elem()
,来自http://golang.org/pkg/reflect/#Type:

// Elem返回类型的元素类型。

//如果类型的Kind不是Array,Chan,Map,Ptr或Slice,则会出现恐慌。

// 编辑 更新了该函数,使其也适用于切片指针



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5087069.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-16
下一篇2022-11-16

发表评论

登录后才能评论

评论列表(0条)

    保存