反射操作普通变量-Type和Kind的区别

未匹配的标注

Type和Kind的区别

相较于 Type 而言,Kind所表示的范畴更大。类似于家用电器(Kind)和电视机(Type)之间的对应关系。或者电视机(Kind)和42寸彩色电视机(Type)

Type 是类型。Kind 是类别。Type 和 Kind 可能相同,也可能不同。通常基础数据类型的Type 和 Kind相同,自定义数据类型则不同。

对于反射中的 kind 我们既可以通过reflect.Type来获取,也可以通过reflect.Value来获取。他们得到的值和类型均是相同的。

k1 := reType.Kind()
k2 := reVal.Kind()
fmt.Printf("k1 = %v type = %T, k2 = %v, type = %T\n", k1, k1, k2, k2)

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~