Итератор for и for-range в Golang отличаются по своему назначению и способу работы. 13
Итератор for позволяет выполнять повторяющиеся операции заданное количество раз на основе итератора — переменной, которая по заданному правилу изменяет своё значение. 3 В простейшей форме оператор for определяет повторное выполнение блока до тех пор, пока логическое условие принимает значение true. 1
Оператор for-range выполняет итерацию по всем элементам массива, фрагмента, строки или карты или значениям, полученным по каналу. 1 Для каждой записи он присваивает значения итерации соответствующим переменным итерации, если они присутствуют, а затем выполняет блок. 1 При этом версия for-range создаёт копию элемента в срезе, по которому выполняется итерация. 1