3 回答

TA貢獻1804條經(jīng)驗 獲得超2個贊
對于range
過切片:
in
for v := range values {
是v
切片中元素的索引。其中
for _, v := range values {
是v
實際的元素值。in
for i, v := range values {
是i
索引,而 thev
是元素。in
for i, _ := range values {
是i
切片中元素的索引。
您可以運行這個 Playground示例來查看差異。
Range expression 1st value 2nd value
array or slice a [n]E, *[n]E, or []E index i int a[i] E
string s string type index i int see below rune
map m map[K]V key k K m[k] V
channel c chan E, <-chan E element e E
有關(guān)更多詳細信息,請參閱規(guī)范。

TA貢獻1829條經(jīng)驗 獲得超7個贊
如果不想使用循環(huán)中迭代的變量,可以使用_to 簡單地讓 Go 忽略它:
mySlice := [int]{1,3,4,59,5}
for _,x := range mySlice {
fmt.Println(x)
}

TA貢獻1873條經(jīng)驗 獲得超9個贊
通過放置下劃線,你告訴編譯器:好的,我知道這個函數(shù)正在返回一些東西,但我不在乎!例如:
package main
import "fmt"
func main() {
mul1, add1 := test_function(2, 3)
fmt.Println(mul1, add1)
mul2, _ := test_function(4, 5)
fmt.Println(mul2)
_, add3 := test_function(7, 8)
fmt.Println(add3)
}
func test_function(a int, b int) (mul int, add int) {
return a * b, a + b
}
- 3 回答
- 0 關(guān)注
- 352 瀏覽
添加回答
舉報