Type1 будет работать почти как while
на других языках. Поскольку в этом языке нет while
, для которого он используется.
Type2 - это классический цикл for
, как и в других языках, как вы указали.
Тип 3 используется для определения диапазона различных структур данных, таких как массивы, срезы, карты
Диапазон
для массивов и слайсов предоставляет индекс и значение для каждого
запись, как в примере, который вы дали
nums := []int{2, 3, 4}
sum := 0
for _, num := range nums {
sum += num
}
fmt.Println("sum:", sum)//"sum: 9"
диапазон на карте повторяется по парам ключ / значение.
kvs := map[string]string{"a": "apple", "b": "banana"}
for k, v := range kvs {
fmt.Printf("%s -> %s\n", k, v)
}
диапазон строк перебирает кодовые точки Unicode. Первое значение
начальный байтовый индекс руны и второй самой руны.
for i, c := range "go" {
fmt.Println(i, c)
}
Для получения дополнительной информации, проверьте На примере веб-сайт для использования диапазона