Go.Основы.Управление потоком
https://t.me/HotCheatSheet
For
for { // бесконечный цикл
// Выход из цикла должен быть организован вручную,
// обычно это делается с помощью конструкций return или break
}
for i < 10 { // цикл выполняется, пока условие истинно (аналог while в Си)
}
for i := 0; i < 10; i++ { // точно то же самое, что цикл for в Си
}
var arr []int
for i, v := range arr { // цикл по элементам массива или среза arr
// i - индекс текущего элемента
// v - сам текущий элемент (аналог arr[i])
}
for i := range arr {
// используется только индекс
}
for _, v := range arr {
// используется только элемент массива
}
for range arr { // цикл по коллекции без переменных - поддерживается с версии 1.4
// Может использоваться, когда коллекция используется только в качестве счётчика итераций,
// а само текущее значение не требуется.
}
If
if условное_выражение {
блок_кода_1;
} else if {
блок_кода_2;
} else {
блок_кода_3;
}
Switch
switch выражение {
case константа-выражение1: блок_кода
case константа-выражение2: блок_кода
case константа-выражениеЗ: блок кода
default: блок_кода
}