go如何實現類似java的動態代理
java 的動態代理還是很強大的,go 有辦法實現類似的動態代理嗎
下面的程式碼用來代理一個實現了 List 介面的物件。所實現的功能也非常簡單,那就是禁止使用 List 介面中的 add 方法。如果在 getList 中傳入一個實現 List 介面的物件,那麼返回的實際就是一個代理物件,嘗試在該物件上呼叫 add 方法就會丟擲來異常。
public List getList(final List list) {
return (List) Proxy.newProxyInstance(DummyProxy.class.getClassLoader(), new Class[] { List.class },
new InvocationHandler() {
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
if ("add".equals(method.getName())) {
throw new UnsupportedOperationException();
}
else {
return method.invoke(list, args);
}
}
});
}
更多原創文章乾貨分享,請關注公眾號
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- 用Java 19實現類似Go併發 - mccueJavaGo
- Go | Go 結合 Consul 實現動態反向代理Go
- SAP ABAP和Java的動態代理實現Java
- java動態代理如何使用Java
- Java動態代理 jdk和cglib的實現比較JavaJDKCGLib
- 如何實現Java 設定動態代理ip的具體操作步驟Java
- Java代理設計模式(Proxy)的四種具體實現:靜態代理和動態代理Java設計模式
- 【乾貨】JDK動態代理的實現原理以及如何手寫一個JDK動態代理JDK
- JAVA 靜態代理 & 動態代理Java
- 01 . Go之從零實現Web框架(類似Gin)GoWeb框架
- MySQL 06 mysql 如何實現類似 oracle 的 merge intoMySqlOracle
- Spring的JDK動態代理如何實現的(原始碼解析)SpringJDK原始碼
- Java代理(jdk靜態代理、動態代理和cglib動態代理)JavaJDKCGLib
- Java中的靜態代理和動態代理Java
- java動態代理Java
- 如何實現類似 lodash 的 get 與 merge 函式函式
- 教你如何用SQLite 實現if not exist 類似功能的操作SQLite
- JavaScript代理模式,怎麼實現物件的動態代理?JavaScript模式物件
- PostgreSQL類似OracleMERGE功能的實現SQLOracle
- Java-JDK動態代理(AOP)使用及實現原理分析JavaJDK
- CGLib動態代理原理及實現CGLib
- RPC核心實現原理-動態代理RPC
- LiveKit:使用Go與WebRTC實現類似Zoom高影片質量GoWebOOM
- go實現類似與spring的全域性上下文獲取getPrincipal()GoSpring
- Blazor如何實現類似於微信的Tab切換?Blazor
- 細說JDK動態代理的實現原理JDK
- iOS動畫系列之七:實現類似Twitter的啟動動畫iOS動畫
- java動態代理動態在哪裡?Java
- java動態代理(1)Java
- Java動態代理(AOP)Java
- Java 動態代理newProxyInstanceJava
- 輕鬆理解 Java 靜態代理/動態代理Java
- 讓我們打一場動態代理的官司–Java動態代理Java
- 【Spring AOP】AOP 底層實現原理 —— 動態代理類的建立(JDK、CGlib)、工廠如何加工原始物件SpringJDKCGLib物件
- Java進階--Java動態代理Java
- 純手寫實現JDK動態代理JDK
- [動態代理三部曲:下] - 從動態代理,看Retrofit的原始碼實現原始碼
- Java基礎系列-靜態代理和動態代理Java
- 動態代理及java演示Java