golang实现简单的反射demo
来源:互联网 发布:c语言入门那本书好 编辑:程序博客网 时间:2024/06/05 06:28
package mainimport ("fmt""reflect" //反射的包)//声明一个User结构type User struct {Id intName stringAge int}//User结构绑定的方法func (u User) Hello() {fmt.Print("Hello Word")}func main() {//初始化结构u := User{1, "ok", 12}//调用得到反射信息的方法Info(u)}func Info(o interface{}) {//得到类型t := reflect.TypeOf(o)//输出类型的名称fmt.Print("Type", t.Name())//得到类型的值v := reflect.ValueOf(o)//声明要循环的长度,如果放在循环里面就要循环三次,这里只需要循环一次var num = t.NumField()fmt.Println("fieds:")for i := 0; i < num; i++ {f := t.Field(i)val := v.Field(i).Interface()//输出类型的名称,类型的类型,类型的值fmt.Printf("%6s: %v = %v\n", f.Name, f.Type, val)}//下面是反射得到类型的方法名称和类型的方法的类型var numMenthon = t.NumMethod()for i := 0; i < numMenthon; i++ {m := t.Method(i)fmt.Printf("%6s: %v\n", m.Name, m.Type)}}
阅读全文
0 0
- golang实现简单的反射demo
- 简单的spring使用反射实现属性赋值demo
- 反射机制的实现demo
- [Golang]简单的聊天室实现
- Golang简单的memcache实现
- Golang 实现简单的定时器
- Golang实现简单的定时器
- 一个简单的Java反射Demo
- GoLang反射的规则
- GoLang反射的规则
- golang的反射机制
- C++ 反射机制的实现Demo
- Golang+MongoDB实现的增删改查demo
- 简单的订阅发布机制实现(Golang)
- Golang 实现简单的文件上传
- Golang实现简单的文件上传
- 实现计时器 的简单demo
- golang简单实现Websocket
- 网络流:最大流以及费用流的总结
- C语言之对多维数组的简易理解
- MySQL源码安装
- Python 学习笔记-错误记录
- C++矩阵计算库Eigen3之:线性代数与分解
- golang实现简单的反射demo
- C++中动态类型与动态绑定、虚函数、运行时多态的实现
- CSAPP第五章小结
- 数字字符串转换为字母组合的种类数 动态规划
- github一些用法
- 对话系统工程师
- 【Android】声音播放截断(骤停)的问题
- 利用redis创建订单号
- 视频编辑器-MovieMator简洁使用-功能和快速入门-创建项目、导入和导出