相关疑难解决方法(0)

golang - 传递方法的功能

我很好奇Go是否可行.我有一个有多种方法的类型.有可能有一个函数,它接受一个方法,并可以为该类型调用它?

这是我想要的一个小例子:

package main

import (
  "fmt"
)

type Foo int

func (f Foo) A() {
    fmt.Println("A")
}
func (f Foo) B() {
    fmt.Println("B")
}
func (f Foo) C() {
    fmt.Println("C")
}

func main() {
    var f Foo
    bar := func(foo func()) {
        f.foo()
    }
    bar(A)
    bar(B)
    bar(C)
}
Run Code Online (Sandbox Code Playgroud)

Go think类型Foo有一个名为的方法foo(),而不是用传入的方法名称替换它.

methods go

20
推荐指数
1
解决办法
1万
查看次数

标签 统计

go ×1

methods ×1