Golang动态调用方法是什么
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,Golang动态调用方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。main.gopackage main im
千家信息网最后更新 2025年01月17日Golang动态调用方法是什么
Golang动态调用方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
main.go
package main import ( "lenu/call" "reflect") type FuncCollection map[string]reflect.Value func main() { _, _ = CallFunc("Hello", "执行Hello方法") _, _ = CallFunc("World", "执行World方法")} func CallFunc(tableName string, args ... interface{}) (result []reflect.Value, err error) { var router call.Routers FuncMap := make(FuncCollection, 0) rf := reflect.ValueOf(&router) rft := rf.Type() funcNum := rf.NumMethod() for i := 0; i < funcNum; i ++ { mName := rft.Method(i).Name FuncMap[mName] = rf.Method(i) } parameter := make([]reflect.Value, len(args)) for k, arg := range args { parameter[k] = reflect.ValueOf(arg) } result = FuncMap[tableName].Call(parameter) return}
package call:
router.go:
package call type Routers struct {}
hello.go
package call import "log" func (router *Routers) Hello(args ...interface{}) bool { log.Println(args[0]) return true}
world.go
package call import "log" func (router *Routers) World(args ...interface{}) bool { log.Println(args[0]) return true}
go run main.go会通过反射去调用Hello,World方法
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
方法
帮助
动态
清楚
内容
对此
文章
新手
更多
知识
行业
资讯
资讯频道
难题
需求
频道
进一
反射
学习
支持
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
FXTM交易服务器真实
服务器怎么做一键还原
深圳水木网络技术有限公司
讯飞mysql数据库工程师
绝地求生上为啥一直服务器繁忙
北航网络安全学院研究生
网络技术招聘海报
模仿作业帮软件开发
山东机器人量化交易软件开发公司
网络安全师证书
佛山 软件开发
h3c无线管理服务器
博山采购软件开发
软件开发的法律纠纷
从两个数据库查询
数据库和数据表的关系
网易服务器如何不卡
事业单位网络安全管理条例
网络技术网络的功能和构造
福建软件开发哪个公司好
网络安全审稿速度快的期刊
软件开发一天多少钱
安卓古筝软件开发
erp软件开发值多少钱
网络安全和网络的道德
山东机器人量化交易软件开发公司
找不到服务器是跑路了吗
js调用c 数据库数据
《数据库技术》说课
View7安全服务器设置