小编use*_*534的帖子

如何通过字符串名称和字符串结构名称调用方法?

我在结构定义下有一个带有 2 个方法的结构,我想在其他使用结构名称和方法名称作为参数的地方调用。

结构代码如下:

type ArticleForm struct {
Name     string     `required:"true" pattern:"^[A-Za-z0-9\u4e00-\u9fa5]{1,1024}$" valid:"Required;MaxSize(1024)"`
Category []Category `class:"multis" required:"true" valid:"Required" optionqs:"GetCategoryOption"`
Content  string     `class:"wysiwg_area" required:"true" valid:"Required"`
Tags     []Tags     `class:"multis_create" optionqs:"GetTagOptions"`
}
Run Code Online (Sandbox Code Playgroud)

方法定义如下:

func (this *ArticleForm) GetTagOptions() []Tags {
return GetTagsOptions(nil)
}
Run Code Online (Sandbox Code Playgroud)

以下是我想调用的内容:

func main() {
s := "models.ArticleForm"
t := "GetTagOptions"
//following is the question, how can i exec following?
funcall(s,t)
}
Run Code Online (Sandbox Code Playgroud)

如何履行funcall(s,t)

methods struct dynamic go

3
推荐指数
1
解决办法
3984
查看次数

标签 统计

dynamic ×1

go ×1

methods ×1

struct ×1