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