Введение в условия в Go
Сейчас мы изучим, как программа выбирает, какую ветку команд выполнить. Условие дает ответ «да» или «нет». При ответе «да» запускается один блок команд, при ответе «нет» - другой.
Пусть нужно напечатать разный текст, когда число больше нуля
и когда оно не больше. Круглые скобки вокруг проверки не ставят.
Фигурные скобки вокруг команд ветки нужны всегда, даже если
в ветке одна строка. Тернарного оператора в Go нет: выбор
пишут отдельными ветками, а текст печатают через fmt.Println.
Сравним число с нулем и напечатаем текст подходящей ветки:
num := 3
if num > 0 {
fmt.Println("plus") // сработает это
} else {
fmt.Println("not plus")
}
Поменяем число на ноль, чтобы сработала вторая ветка условия:
num := 0
if num > 0 {
fmt.Println("plus")
} else {
fmt.Println("not plus") // сработает это
}
Ответ берут из сравнения чисел, из готового логического значения или из нескольких проверок, соединенных связками И и ИЛИ. Есть и другой способ выбора, когда одно значение сопоставляют с несколькими вариантами. Оба приема решают одну задачу: не выполнять лишнее, когда ответ уже известен.
В следующих уроках разберем сравнения, составные проверки, необязательные ветки и короткую команду перед проверкой.
Дано число:
num := 4
Если число больше нуля, выведите "yes", иначе "no".
Дано число:
num := -1
Если число больше нуля, выведите "yes", иначе "no".
Скажите, можно ли убрать фигурные скобки, если в ветке одна команда.
Скажите, можно ли заменить две ветки одним тернарным оператором.