3 回答
TA贡献1804条经验 获得超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
有关更多详细信息,请参阅规范。
TA贡献1829条经验 获得超7个赞
如果不想使用循环中迭代的变量,可以使用_to 简单地让 Go 忽略它:
mySlice := [int]{1,3,4,59,5}
for _,x := range mySlice {
fmt.Println(x)
}
TA贡献1873条经验 获得超9个赞
通过放置下划线,你告诉编译器:好的,我知道这个函数正在返回一些东西,但我不在乎!例如:
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 关注
- 430 浏览
添加回答
举报
