登录
首页 >  Golang >  Go问答

Golang嵌套类在函数内

来源:Golang技术栈

时间:2023-03-27 15:41:56 107浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《Golang嵌套类在函数内》,涉及到golang,有需要的可以收藏一下

问题内容

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

func f() {
    // nested struct Cls inside f
    type Cls struct {
    ...
    }
    // try bounding foo to Cls but fail
    func (c *Cls) foo() {
    ...
    }
}

因此,类在函数内部被弱化感觉有点奇怪。

有什么提示吗?

正确答案

实际上,是否要声明 带有 带有接收器的函数都没有关系:Go 中不允许嵌套函数。

尽管您可以使用函数文字来实现以下目的:

func f() {
    foo := func(s string) {
        fmt.Println(s)
    }

    foo("Hello World!")
}

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

在Go Playground上尝试一下。

今天带大家了解了golang的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>