猿问

这两个 Golang 函数返回有什么不同

这两个 Golang 函数有什么不同,它们彼此相同吗?


func foo1() (ret string) {

    ret = "hi there"

    return

}


func foo2() string {

    ret := "hi there"

    return ret

}

哪个更好?


四季花海
浏览 66回答 1
1回答

慕沐林林

这两个函数是相同的:https ://go.dev/play/p/_6KT5thL2Sjfoo2使用隐式返回。foo1使用命名的返回值和naked/bare返回。有人认为这是代码异味:建议:Go 2: remove bare return
随时随地看视频慕课网APP

相关分类

Go
我要回答