1 回答

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊
for n := range nums {
? ? // ...
}
n不是nums切片的元素,它是索引。所以基本上你測試了元素的索引并將其添加到你的res結(jié)果切片中。
而是這樣做:
for _, n := range nums {
? ? // ...
}
通過此更改,輸出將是(在Go Playground上嘗試):
[2?4?6]
這在Spec: For statements?, For statements with range clause 中有詳細(xì)說明:
對于每次迭代,如果存在相應(yīng)的迭代變量,則按如下方式生成迭代值:
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
- 1 回答
- 0 關(guān)注
- 136 瀏覽
添加回答
舉報(bào)