3 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
對(duì)于range
過(guò)切片:
in
for v := range values {
是v
切片中元素的索引。其中
for _, v := range values {
是v
實(shí)際的元素值。in
for i, v := range values {
是i
索引,而 thev
是元素。in
for i, _ := range values {
是i
切片中元素的索引。
您可以運(yùn)行這個(gè) Playground示例來(lái)查看差異。
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)更多詳細(xì)信息,請(qǐng)參閱規(guī)范。

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

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
通過(guò)放置下劃線(xiàn),你告訴編譯器:好的,我知道這個(gè)函數(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)注
- 369 瀏覽
添加回答
舉報(bào)