可以通过反射获取结构体中的函数并执行。首先需要获取函数的反射值,然后使用'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
Go 反射:调用结构体函数

原文地址: https://www.cveoy.top/t/topic/lpO8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录