Необязательность else в Go
Конструкция else не является обязательной.
В следующем примере текст выведется только
в том случае, если значение переменной равно
1. В противном случае просто ничего
не случится:
test := 1
if test == 1 {
fmt.Println("Y") // сработает это
}
Ветку else можно не писать, если при ложном ответе делать нечего.
Остается проверка и блок команд только для случая
«да». Когда ответ «нет», программа просто идет
дальше к следующим строкам.
Такой короткий вариант удобен для предупреждений и редких действий: напечатать сообщение только при ошибке и молча продолжить при норме.
Напечатаем текст только при отрицательной температуре:
temp := -2
if temp < 0 {
fmt.Println("freeze")
}
fmt.Println("done")
При положительном значении первая ветка пропускается:
temp := 5
if temp < 0 {
fmt.Println("freeze")
}
fmt.Println("done")
Дано число:
errors := 3
Если errors больше 0, выведите
"warn". После условия выведите "end".
Дана строка:
state := "ok"
При значении "fail" выведите "fix"
без второй ветки.
Дана переменная:
flag := false
При true выведите "run", затем
всегда выведите "step".
Если переменная test равна 10,
то пусть выведется "Y". В противном
случае пусть ничего не произойдет.