我是新手,遇到了一组我不明白的括号。
在下面的代码中,我使用了一个基本的 defer 语句来打印恐慌的输出。
为了使代码正常工作,我必须在关闭花括号的函数结束后添加一个打开和关闭括号。
显然我没有正确理解一些东西。我认为它上面的两行是函数的主体是错误的吗?如果它们是函数的主体,那么它之后的括号有什么作用。如果他们不是身体,那么有人可以解释这里发生了什么吗?
我在没有括号的情况下得到的错误是:
# command-line-arguments
./goTemplate.go:14: syntax error: argument to go/defer must be function call.
package main
import "fmt"
func main(){
defer func() {
str := recover()
fmt.Println(str)
}()
fmt.Println("Hello, World")
panic("PANIC")
}
三国纷争
相关分类