为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Go 的接口中使用函数类型

如何在 Go 的接口中使用函数类型

Go
动漫人物 2022-11-23 10:26:41

我有以下代码


type SomeInterface interface {

    SomeFunc(int, string)

}


type IntStringFunc func(int, string)


func (f IntStringFunc) SomeFunc(i int, s string) {

    f(i, s)

}

在函数类型 IntStringFunc 上调用方法 SomeFunc 的语法是什么?


查看完整描述

1 回答

?
幕布斯7119047

TA贡献1493条经验 获得超1个赞

方法调用语法不依赖于接收者类型,它总是相同的:value.methodName(params).


例如:


var f IntStringFunc = func(i int, s string) {

    fmt.Printf("f(%d, %s)\n", i, s)

}


f.SomeFunc(1, "one")

这将输出(在Go Playground上尝试):


f(1, one)

由于 type off是一个函数类型,你当然也可以这样调用它:


f(1, "one")

这当然会打印相同的内容。


查看完整回答
反对 回复 2022-11-23

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信