Golang 函数内的嵌套类

Go 支持函数内部嵌套结构,但除了 lambda 之外没有嵌套函数,这是否意味着无法在函数内部定义嵌套类?


func f() {

    // nested struct Cls inside f

    type Cls struct {

    ...

    }

    // try bounding foo to Cls but fail

    func (c *Cls) foo() {

    ...

    }

}

因此,类在功能内部被削弱感觉有点奇怪。


任何提示?


翻过高山走不出你
浏览 155回答 1
1回答

30秒到达战场

其实,如果你想声明的功能也不要紧用或不用在去嵌套函数不允许:接收器。虽然你可以使用函数文字来实现这样的事情:func f() {    foo := func(s string) {        fmt.Println(s)    }    foo("Hello World!")}在这里,我们创建了一个foo具有函数类型的变量,并将其声明在另一个函数中f。调用“外部”函数f输出:"Hello World!"正如预期的那样。在Go Playground上试试。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go