反射
遍历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