Go 反射:调用结构体函数
可以通过反射获取结构体中的函数并执行。首先需要获取函数的反射值,然后使用'Call'方法来执行函数。
示例代码:
package main
import (
"fmt"
"reflect"
)
type Person struct {
Name string
Age int
}
func (p Person) SayHello() {
fmt.Printf('Hello, my name is %s\n', p.Name)
}
func main() {
p := Person{Name: "Alice", Age: 30}
// 获取函数的反射值
method := reflect.ValueOf(p).MethodByName("SayHello")
// 执行函数
method.Call(nil)
}
输出结果:
Hello, my name is Alice
原文地址: https://www.cveoy.top/t/topic/lpO8 著作权归作者所有。请勿转载和采集!