zoukankan      html  css  js  c++  java
  • go语言之反射

    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())
    	}
    }
    

      

    你不能把坏习惯扔出窗外 但你可以一步步赶下电梯
  • 相关阅读:
    HDU 1198
    HDU 1863
    HDU 1879
    HDU 1233
    HDU 1232
    HDU 1829
    HDU 2473
    hdu 1829 A Bug's Life
    hdu 3038 How Many Answers Are Wrong
    hdu 1198 Farm Irrigation
  • 原文地址:https://www.cnblogs.com/Ychao/p/14652980.html
Copyright © 2011-2022 走看看