在 Go (golang) 中,如何使用一个 `range` 迭代两个数组、切片或映射

要迭代数组、切片、字符串、映射或通道,我们可以使用


for _, x := range []int{1, 2, 3} {

  // do something

}

如何同时迭代两个切片或地图?在python中是否有类似的东西?


for x, y in range([1, 2, 3], [4, 5, 6]):

    print x, y


墨色风雨
浏览 191回答 3
3回答

狐的传说

你不能,但如果它们的长度相同,你可以使用range.package mainimport (    "fmt")func main() {    r1 := []int{1, 2, 3}    r2 := []int{11, 21, 31}    if len(r1) == len(r2) {        for i := range r1 {            fmt.Println(r1[i])            fmt.Println(r2[i])        }    }}它返回111221331

catspeake

如果您的切片长度相同,请range像这样使用:for i := range x {    fmt.Println(x[i], y[i])}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go