爲什麼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