
1,写数据库dao层的时候用到了反射机制。在反射的时候要注意你的对象时指针还是结构体这样区别也很大。以下接受几种常用的放射方法
reflect.type of
package mainimport ( "fmt" "reflect")type hehe struct { namefile string "PrimaryKey" age int}func main() { hehe := &hehe{"ssssssssssss",33} yingShe(hehe)}func yingShe(obj interface{}) { hehe := &hehe{"ssssssssssss",22} for i := 0; i < reflect.TypeOf(obj).Elem().NumFIEld(); i++ { f := reflect.TypeOf(obj).Elem().FIEld(i) fmt.Print(f.name," : ") switch reflect.ValueOf(hehe).Elem().FIEldByname(f.name).Kind() { case reflect.Int: val := reflect.ValueOf(hehe).Elem().FIEldByname(f.name).Int() fmt.Println(val) default: val := reflect.ValueOf(hehe).Elem().FIEldByname(f.name) fmt.Print(val) } fmt.Println(",",reflect.TypeOf(hehe).Elem().FIEld(i).Tag) }}运行结果 namefile : ssssssssssss,PrimaryKeyage : 22,总结
以上是内存溢出为你收集整理的golang-反射机制全部内容,希望文章能够帮你解决golang-反射机制所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)