Ветвление с if и else в Go очень простое:
Вот простой пример.
if 7%2 == 0 {
fmt.Println("7 четное число")
} else {
fmt.Println("7 нечетное число")
}
Вывод:
7 нечетное число
У вас может быть условие if без else.
if 8%4 == 0 {
fmt.Println("8 делится на 4")
}
Вывод:
8 делится на 4
Оператор может предшествовать условию; любая переменная, объявленная в этом блоке, доступна во всех ветвлениях.
if num := 9; num < 0 {
fmt.Println(num, "отрицательное число")
} else if num < 10 {
fmt.Println(num, "состоит из 1 цифры")
} else {
fmt.Println(num, "состоит из нескольких цифр")
}
}
Вывод:
9 состоит из 1 цифры
Обратите внимание, что вам не нужны скобки вокруг условий в Go, но фигурные скобки необходимы.
Также стоит учесть, что в Go нет тернарного if, поэтому вы должны использовать полную версию оператора if даже для простых условий. С этим нужно быть особенно осторожным.
Задание звучит так: В рассматриваемой приключенческой игре есть несколько локаций. Напишите программу, которая использует if и else if для отображения описания каждой из трех локаций: пещеры, входа и горы. При написании программы следите, чтобы фигурные скобки {} стояли в соответствии с правилами единственного правильного скобочного стиля.
Вот код программы:
package main
import "fmt"
func main() {
var room = "пещера"
if room == "пещера" {
fmt.Println("Вы находитесь в тускло освещенной пещере.")
} else if room == "вход" {
fmt.Println("Здесь есть вход в пещеру и путь на восток.")
} else if room == "гора" {
fmt.Println("Здесь крутой утес. Тропа ведет к подножью горы.")
} else {
fmt.Println("Здесь ничего нет.")
}
}
Спасибо большое, ребята. Очень много накидали информации по использованию условных операторов, но ещё больше меня радует, что есть реальные примеры – огромное спасибо.