package main
import (
"fmt"
"reflect"
)
type FlyBird struct {
Name string
LifeExpectancy int
}
func (b *FlyBird) BirdFly(){
fmt.Println("bird fly")
}
func main(){
//实现一个FlyBird的指针变量
sparrow := &FlyBird{"Sparrow",3}
//获取变量的反射元素
s := reflect.ValueOf(sparrow).Elem()
//获取反射元素的类型
typeOfT := s.Type()
//循环反射元素
for i:=0;i<s.NumField();i++{
//单个反射元素
f :=s.Field(i)
//打印反射元素的属性名称 类型 和值
fmt.Printf("%d:%s %s = %v
", i, typeOfT.Field(i).Name, f.Type(), f.Interface())
}
}