反射

遍历map

package main

import (
	"fmt"
	"reflect"
)

func main() {
	a := make(map[int]string)
	a[0] = "a"
	a[1] = "b"
	a[2] = "c"
	test(a)
}

func test(a interface{}) {
	val := reflect.ValueOf(a)
	fmt.Println(val)
	keys := val.MapKeys()
	fmt.Println(keys)
	for _, v := range keys {
		value := val.MapIndex(v)

		//fmt.Printf("key=%v value=%v", k, v)
		fmt.Println(value)

	}
}

  

reflect struct with struct 

看好函数是不是传的指针。    传的指针用不了fieldbyname 

posted @ 2018-10-26 17:50  8394971  阅读(105)  评论(0编辑  收藏  举报