反射的引出和应用场景|学习笔记

简介: 快速学习反射的引出和应用场景

开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程:反射的引出和应用场景】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/626/detail/9765


反射的引出和应用场景

 

内容介绍

一、提出需求:这个有什么用,他能干什么?

二、先看一个问题,反射的应用场景

三、使用反射机制,编写函数的适配器,桥连接

 

一、提出需求:这个有什么用,他能干什么?

前面我们学习过结构体的序列化和反序列化,结构体里可以加一个 tag,为了解决序列化的时候我们可以指定一个 k 的值,用结构体的标签我们在进行序列化的时候他的字段的名称可以根据我指定的名称来进行序列化。

 

二、先看一个问题,反射的应用场景

我们可以说,这里有一个匿名函数

Test1=func(v1 int,v2 int){

t.log(v1,v2,)

}

Test2:=func(v1 int,v2 int,s string){

t.log(v1,v2,s)

}

//将函数赋予变量,相当于函数变量

假设你有一个需求,你想编一个适配器函数用作统一处理接口,比如说你想给我传进来一个函数名称call interface{},args…interface{}){为变量

//内容

}

//实现调用 test1 对应的函数

Bridge(test1,1,2)

//实现调用test2对应的函数

Bridge(test2,1,2,“test2”)

反射的最大价值就是自己写框架

 

三、使用反射机制,编写函数的适配器,桥连接

举个例子,比如说我们想用这个函数来调函数,假如你有结构体,将变量赋于这个结构体,给你一个结构体的实例,要求用反射去拿到这个结构体所有的字段信息,所有的方法信息,然后用反射将他调起来,甚至可以用反射创建一个结构体。

相关文章
|
Java
Java面向对象三大特性之多态及综合练习
Java面向对象三大特性之多态及综合练习
114 0
|
3月前
|
安全 Java 数据库连接
如何理解反射
反射之所以被称为框架的灵魂,主要是因为它赋予了我们在运行时分析类以及执行类中方法的能力。通过反射你可以获取任意一个类的所有属性和方法,你还可以调用这些方法和属性。
102 5
|
6月前
|
Java 开发者 C++
|
8月前
|
Java 开发者 C++
Java面向对象的终极挑战:抽象类与接口的深度解析!
【6月更文挑战第17天】在Java OOP中,抽象类和接口助力代码复用与扩展。抽象类不可实例化,提供通用框架,适合继承;接口包含纯抽象方法,支持多态与松耦合。选择抽象类用于继承已有方法和状态,接口则适用于不相关类共享行为。Java 8后接口能含默认方法,增加设计灵活性。抽象类与接口常结合使用,以实现最佳设计,如`Shape`抽象类实现`Drawable`和`Selectable`接口,展现两者协同优势。理解和熟练运用这对概念是提升代码质量的关键。
55 0
|
安全 Java
什么是Java泛型?主要应用场景有哪些?
什么是Java泛型?主要应用场景有哪些?
232 0
|
9月前
|
设计模式 算法
|
9月前
|
存储 算法 Java
细探究,Java对象创建过程和访问的奥秘
细探究,Java对象创建过程和访问的奥秘
96 0
|
安全 Java 测试技术
带你深入学习“反射”技术
带你深入学习“反射”技术
151 0
|
JSON 数据库 数据格式
【工作中问题解决实践 六】基于反射及类装饰模式的数据对比框架(下)
【工作中问题解决实践 六】基于反射及类装饰模式的数据对比框架(下)
132 0
|
设计模式 JSON 数据格式
【工作中问题解决实践 六】基于反射及类装饰模式的数据对比框架(上)
【工作中问题解决实践 六】基于反射及类装饰模式的数据对比框架(上)
121 0