В golang, как итерации двух массивов, используя один "диапазон" Мы можем использовать for _, x := range []int{1, 2, 3} { // do something } Итерировать массив. Как я могу одновременно итерации двух массивов? Есть ли что-то вроде следующего в python? for x, y in range([1, 2, 3], [4, 5, 6]): print x, y Ответ 1 Вы не можете, но если они имеют одинаковую длину, вы можете использовать индекс из range. package main import ( "fmt" ) func main() { r1 := []int{1, 2, 3} r2 := []int{11, 21, 31} for i, _ := range r1 { fmt.Println(r1[i]) fmt.Println(r2[i]) } } Он возвращает 1 11 2 21 3 31 Ответ 2 Если ваши фрагменты имеют одинаковую длину, используйте range следующим образом: for i := range x { fmt.Println(x[i], y[i]) } Ответ 3 Вы можете сделать это за счет создания нового массива (который может или не может быть для вас нарушением транзакции) for _, i := range append([]int{1, 2, 3}, []int{4, 5, 6, 7}...) { fmt.Printf("%v\n", i) } Обратите внимание, что он работает с различными массивами длины. См. https://play.golang.org/p/DRCI_CwSjA для примера игровой площадки. Ответ 4 ему понадобится асинхронное решение, может использовать канал; https://play.golang.org/p/goAsZ6spKR
Ответ 1 Вы не можете, но если они имеют одинаковую длину, вы можете использовать индекс из range. package main import ( "fmt" ) func main() { r1 := []int{1, 2, 3} r2 := []int{11, 21, 31} for i, _ := range r1 { fmt.Println(r1[i]) fmt.Println(r2[i]) } } Он возвращает 1 11 2 21 3 31
Ответ 2 Если ваши фрагменты имеют одинаковую длину, используйте range следующим образом: for i := range x { fmt.Println(x[i], y[i]) }
Ответ 3 Вы можете сделать это за счет создания нового массива (который может или не может быть для вас нарушением транзакции) for _, i := range append([]int{1, 2, 3}, []int{4, 5, 6, 7}...) { fmt.Printf("%v\n", i) } Обратите внимание, что он работает с различными массивами длины. См. https://play.golang.org/p/DRCI_CwSjA для примера игровой площадки.
Ответ 4 ему понадобится асинхронное решение, может использовать канал; https://play.golang.org/p/goAsZ6spKR