Основные отличия между for и range в Golang:
- for определяет повторное выполнение блока до тех пор, пока логическое условие принимает значение true. stackoverflow.com В простейшей форме оператор for определяет повторное выполнение блока до тех пор, пока логическое условие принимает значение true. stackoverflow.com
- for range выполняет итерацию по всем элементам массива, фрагмента, строки или карты или значениям, полученным по каналу. stackoverflow.com purpleschool.ru Для каждой записи он присваивает значения итерации соответствующим переменным итерации, если они присутствуют, а затем выполняет блок. stackoverflow.com
Таким образом, основное отличие в том, что for используется для общего управления циклом, а for range — для перебора элементов в коллекциях данных (массивов, срезов, карт и строк). stackoverflow.com purpleschool.ru