为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
墨色风雨 2021-09-13 09:57:47
要迭代数组、切片、字符串、映射或通道,我们可以使用for _, x := range []int{1, 2, 3} {  // do something}如何同时迭代两个切片或地图?在python中是否有类似的东西?for x, y in range([1, 2, 3], [4, 5, 6]):    print x, y
查看完整描述

3 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

你不能,但如果它们的长度相同,你可以使用range.


package main


import (

    "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])

        }

    }

}

它返回


1

11

2

21

3

31


查看完整回答
反对 回复 2021-09-13
?
catspeake

TA贡献1111条经验 获得超0个赞

如果您的切片长度相同,请range像这样使用:


for i := range x {

    fmt.Println(x[i], y[i])

}


查看完整回答
反对 回复 2021-09-13
  • 3 回答
  • 0 关注
  • 190 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信