为什么go有时候允许你调用函数而不捕获两个返回值?如:Golang:为什么要捕获某些函数返回值可选?
func TestGolang() {
myMap := make(map[string]string)
test := myMap["value"]
// or
test, success := myMap["value"]
}
而在其他时候,您需要捕获所有返回结果并使用空白标识符,如果您不想使用该值?
test := os.Stat("test") // fails
test, _ := os.Stat("test") // only way to make it work
我认为golang不支持单个函数的不同方法签名。第一个例子如何工作?我是否可以实现自己的函数,可选地返回错误或状态标志,但是如果第二个返回值没有被捕获,则不会错误输出?
这不是可有可无的,这是一个通吃或无。 [在Golang返回图像“OK”上的正常功能(可能的重复http://stackoverflow.com/questions/28487036/return-map-like-ok-in-golang-on-normal-functions/28487270#28487270 ) – icza
太糟糕了,Go有自己奇怪的技巧,用户甚至无法重现。它经常觉得Go是“作弊”。 – mpm