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

Golang 函数内的嵌套类

Golang 函数内的嵌套类

Go
翻过高山走不出你 2021-09-13 15:00:19
Go 支持函数内部嵌套结构,但除了 lambda 之外没有嵌套函数,这是否意味着无法在函数内部定义嵌套类?func f() {    // nested struct Cls inside f    type Cls struct {    ...    }    // try bounding foo to Cls but fail    func (c *Cls) foo() {    ...    }}因此,类在功能内部被削弱感觉有点奇怪。任何提示?
查看完整描述

1 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

其实,如果你想声明的功能也不要紧用或不用在去嵌套函数不允许:接收器。


虽然你可以使用函数文字来实现这样的事情:


func f() {

    foo := func(s string) {

        fmt.Println(s)

    }


    foo("Hello World!")

}

在这里,我们创建了一个foo具有函数类型的变量,并将其声明在另一个函数中f。调用“外部”函数f输出:"Hello World!"正如预期的那样。


在Go Playground上试试。


查看完整回答
反对 回复 2021-09-13
  • 1 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

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