gpt4 book ai didi

Go:按名称查找函数

转载 作者:IT王子 更新时间:2023-10-29 01:15:38 26 4
gpt4 key购买 nike

我是输入安全的新手,不知道如何执行以下操作

package main

func test(){
print("In Test")
}

func main(){
a := "test"
a()
}

最佳答案

如果您陈述您想要实现的目标,您可能会得到更好的答案,因为反射(reflection)通常不是最好的方法。但是reflect如果函数是类型上的方法( net/rpcexample of this ),将会有所帮助。

package main

import (
"fmt"
"reflect"
)

type T struct {}

func (T) Add(x, y int) int {
return x + y
}

func main() {
t := reflect.ValueOf(T{})
m := t.MethodByName("Add")
args := []reflect.Value{reflect.ValueOf(1), reflect.ValueOf(2)}
fmt.Println(m.Call(args)[0].Int())
}

如果您想知道 godoc 这样的工具工作,他们解析源代码而不是使用反射。

编辑:Playground version

关于Go:按名称查找函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12127585/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com