美文网首页
go 根据名字调用

go 根据名字调用

作者: hehehehe | 来源:发表于2023-11-30 08:58 被阅读0次
package check

import "fmt"

type ICheck interface {
    check(params map[string]string)
}

type Checker struct {
    TileCompleteCheck
}

type TileCompleteCheck struct {
}

func (e *TileCompleteCheck) Check(params map[string]string) {
    for k, v := range params {
        fmt.Println(k, v)
    }
}

package main

import (
    "fmt"
    "geotool/check"
    "reflect"
)

func main() {
    fmt.Println(123)
    c := check.Checker{}

    // 定义要传递的参数
    params := make(map[string]string)
    params["key1"] = "value1"
    params["key2"] = "value2"

    val := reflect.ValueOf(&c)
    fieldVal := val.Elem().FieldByName("TileCompleteCheck")

    method := fieldVal.Addr().MethodByName("Check")

    // 使用 reflect.ValueOf 创建一个参数的 reflect.Value
    method.Call([]reflect.Value{reflect.ValueOf(params)})

}

package check

type BaseCheck struct {
}

func (e *BaseCheck) Check(params map[string]string) {
    for k, v := range params {
        fmt.Println(k, v)
    }
}


package main

import (
    "fmt"
    "geotool/check"
    "reflect"
)

func main() {
    fmt.Println(123)
    baseCheck := check.BaseCheck{}

    // 定义要传递的参数
    params := make(map[string]string)
    params["key1"] = "value1"
    params["key2"] = "value2"

    baseCheckVal := reflect.ValueOf(&baseCheck)
    method := baseCheckVal.MethodByName("Check")

    // 使用 reflect.ValueOf 创建一个参数的 reflect.Value
    method.Call([]reflect.Value{reflect.ValueOf(params)})

}

相关文章

  • 第3周总结

    1 根据函数名字符串,调用函数 getattr 参考: 通过函数名的字符串来调用这个函数 根据字符串名称动态调用P...

  • C 调用 Go 函数

    我们之前已经让 Go 调用 C 函数,但有些场景下需要 C 来调用Go函数。 Go 使用 export 关键字导出...

  • 第02天(函数、工程管理)_02

    06_多个返回值.go 07_有参有返回值.go 08_普通函数的调用流程.go 09_函数递归调用的流程.go ...

  • golang读取stdin

    go语言读取stdin内容代码例子 go程序代码 调用脚本1 运行结果 调用脚本2 运行结果

  • 第04天(面对对象编程)_01

    01_匿名字段初始化.go 02_成员的操作.go 03_同名字段.go 04_非结构体匿名字段.go

  • cgo

    cgo cgo是用来在Go语言中调用C语言的工具 Go语言调用C语言 简单C语言函数 在Go语言中需要通过impo...

  • go-spring源码研究

    安装并调用 go get github.com/go-spring/go-spring/spring-boot 上...

  • java实践:01_web服务器本质

    一、web服务器的作用 根据一个名字,调用一个java类的方法 根据一个名字,读取一个html界面的内容 二、如何...

  • GO调用C函数

    GO调用C函数 在很多场景下,在Go的程序中需要调用c函数或者是用c编写的库(底层驱动,算法等,不想用Go语言再去...

  • Go Modules

    Go 1.11 Modules翻译自 Go 官方wiki # Go 1.11 Modules 根据[提议](htt...

网友评论

      本文标题:go 根据名字调用

      本文链接:https://www.haomeiwen.com/subject/bfcqgdtx.html