在Go语言中,以下代码是有效的(请注意,一个使用map的返回值为一个,另一个使用两个)
package main
import "fmt"
var someMap = map[string]string { "some key": "hello" }
func main() {
if value, ok := someMap["some key"]; ok {
fmt.Println(value)
}
value := someMap["some key"]
fmt.Println(value)
}
然而,我不知道如何对自己的函数执行相同操作。是否有可能像map
一样使用可选返回值实现类似的行为?
例如:
package main
import "fmt"
func Hello() (string, bool) {
return "hello", true
}
func main() {
if value, ok := Hello(); ok {
fmt.Println(value)
}
value := Hello()
fmt.Println(value)
}
因为错误 multiple-value Hello() in single-value context
,代码无法编译... 有没有办法让这个语法适用于函数 Hello()
?