2016-03-03 55 views
0

我有一個簡單的問題的方法 - 我可以使用單值分配而方法返回2個值(VAL和錯誤)?我可以使用單可變對於返回2個參數

resp := http.Get("http://www.google.com/") 
+0

[返回地圖等的可能的複製 'OK' 在golang在正常功能](http://stackoverflow.com/questions/28487036/return-map-like-ok-in-golang-on-normal-functions) – icza

回答

3

賦值左側的操作數數量必須與該函數返回的值數量匹配。

可以使用blank identifier忽略返回值:

resp, _ := http.Get("http://www.google.com/") 

這是不好的做法忽略了這樣的錯誤。

+0

請記住,這是不好的,忽略這樣的錯誤 – cd1

1

從圍棋語言規範:

元組指派指派一個多值 操作到的變量列表中的各個元素。有兩種形式。在第一個 中,右手操作數是單個多值表達式,如函數調用,通道或映射操作或類型斷言。 左側的操作數數量必須與 值的數量匹配。

For instance, if f is a function returning two values, 
x, y = f() assigns the first value to x and the second to y. 

坯件標識符提供了一種忽略右手側在分配值 :

_ = x  // evaluate x but ignore it 
x, _ = f() // evaluate f() but ignore second result value