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

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

开发者学堂课程【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”)

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

 

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

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

相关文章
|
6月前
|
安全 Java 数据安全/隐私保护
|
6月前
|
安全 Java 编译器
深入探讨Java反射:解析机制与应用场景
反射是Java的一种强大而灵活的特性,它允许程序在运行时获取类的信息、构造对象、调用方法和访问字段。在Java中,每个类都有一个对应的Class对象,通过这个对象,我们可以了解类的结构和行为。
179 1
 深入探讨Java反射:解析机制与应用场景
|
4月前
|
数据安全/隐私保护 C++
|
4月前
|
安全 Java
打破常规!JAVA反射技术让你“动态”编程
【7月更文挑战第1天】Java反射技术是动态编程的利器,它揭示了类的内部信息,允许运行时操作对象、调用方法和创建实例。动态加载类、调用方法和创建对象是其常见应用场景,但需注意反射带来的性能损失、安全风险和代码可读性下降。在平衡灵活性与效率时谨慎使用。
41 0
|
4月前
|
存储 安全 编译器
|
4月前
|
设计模式 Java 开发者
工厂设计模式的实现与应用场景分析
工厂设计模式的实现与应用场景分析
|
存储 算法 Java
Java集合重点知识详解——优点以及内部继承关系
Java集合重点知识详解——优点以及内部继承关系
96 0
|
安全 Java 测试技术
带你深入学习“反射”技术
带你深入学习“反射”技术
141 0
|
缓存 Oracle IDE
深入分析Java反射(八)-优化反射调用性能
Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行Debug。
383 0