Go поддерживает циклы for
, а также ключевое слово range для перебора всех элементов массивов, срезов и карт. Примером простоты Go служит тот факт, что для работы с циклами существует только одно ключевое слово for.
Вы также можете создавать циклы for с переменными и условиями. Цикл for можно завершить с помощью ключевого слова break
или пропустить текущую итерацию, применив ключевое слово continue
. При использовании с range
циклы for позволяют просматривать все элементы среза или массива, не зная размер структуры данных.
// Традиционное использование цикла for for i := 0; i < 10; i++ { fmt.Print(i*i, " ") } fmt.Println() // Использование цикла for как do-while i := 0 for ok := true; ok; ok = (i != 10) { fmt.Print(i*i, " ") i++ } fmt.Println() i = 0 for { if i == 10 { break } fmt.Print(i*i, " ") i++ } fmt.Println() // С помощью ключевого слова range цикл for превращается в foreach для прохода по массиву или срезу. Это срез, но диапазон также работает с массивами. aSlice := []int{-1, 2, 1, -1, 2, -2} for i, v := range aSlice { fmt.Println("index:", i, "value: ", v) }