Публикации - Go

Управляющие конструкции - Итерации с помощью циклов for и range

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)
	}

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться