在Go中,以下工作(注意一个地图的使用有一个返回,另一个有两个返回)
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)
}
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何用自己的功能做同样的事情.是否有可能与可选的返回类似的行为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)
}
Run Code Online (Sandbox Code Playgroud)
不会编译(由于错误multiple-value Hello() in single-value context)...有没有办法使这个语法适用于该函数Hello()?