Go 新来的,帕伦解释

Go 新来的,帕伦解释,go,Go,我是新来的,遇到了一系列我不理解的问题 在下面的代码中,我使用一个基本的defer语句来打印panic的输出 为了让代码正常工作,我必须在函数结束后添加一个打开和关闭参数关闭花括号 很明显,我没有完全理解一些事情。我认为上面的两行是函数的主体,这是错误的吗?如果它们是函数的主体,那么在函数之后的paren起什么作用呢。如果他们不是身体,那么有人能解释这里发生了什么吗 我在没有参数的情况下得到的错误是: #命令行参数 ./goTemplate.go:14:语法错误:go/defer的参数必须是函数

我是新来的,遇到了一系列我不理解的问题

在下面的代码中,我使用一个基本的defer语句来打印panic的输出

为了让代码正常工作,我必须在函数结束后添加一个打开和关闭参数关闭花括号

很明显,我没有完全理解一些事情。我认为上面的两行是函数的主体,这是错误的吗?如果它们是函数的主体,那么在函数之后的paren起什么作用呢。如果他们不是身体,那么有人能解释这里发生了什么吗

我在没有参数的情况下得到的错误是:

#命令行参数
./goTemplate.go:14:语法错误:go/defer的参数必须是函数调用

package main
import "fmt"

func main(){
    defer func() {
        str := recover()
        fmt.Println(str)
    }()
    fmt.Println("Hello, World")
    panic("PANIC")
}
从:

表达式必须是函数或方法调用

在您的例子中,它是一个函数调用:
()
调用函数。
如果没有
()
,它将是一个函数值


您可以在“.”上看到更多信息。

perfect。我已经接受了,但我得等。谢谢