Ветка else

Конструкция else в Go используется совместно с условным оператором if. Она позволяет выполнить альтернативный блок кода, когда условие в if возвращает false. В отличие от некоторых других языков, в Go существует строгое правило: фигурная скобка { после if и else должна находиться на той же строке, что и само условие или ключевое слово. Также else может быть использована с оператором if, содержащим краткое объявление переменной.

Синтаксис

goif condition {
  // блок кода, если condition == true
} else {
  // блок кода, если condition == false
}

Пример

Давайте проверим, является ли число положительным. Если условие x > 0 истинно, выведем сообщение об этом, иначе выполнится блок else:

gopackage main

import "fmt"

func main() {
  x := 10

  if x > 0 {
    fmt.Println("x is positive")
  } else {
    fmt.Println("x is not positive")
  }
}

Результат выполнения кода:

go"x is positive"

Пример

Теперь рассмотрим случай, когда условие ложно. Возьмем отрицательное число x = -5:

gopackage main

import "fmt"

func main() {
  x := -5

  if x > 0 {
    fmt.Println("x is positive")
  } else {
    fmt.Println("x is not positive")
  }
}

Результат выполнения кода:

go"x is not positive"

Пример

Конструкция else часто используется с кратким объявлением переменной внутри if. Проверим, четное ли число, и выведем соответствующий результат. Переменная num будет доступна только внутри веток if и else:

gopackage main

import "fmt"

func main() {
  if num := 7; num%2 == 0 {
    fmt.Println("num is even")
  } else {
    fmt.Println("num is odd")
  }
}

Результат выполнения кода:

go"num is odd"

Смотрите также

  • оператор if,
    который выполняет код при истинном условии
  • оператор switch,
    который является альтернативой множественным проверкам if-else
  • оператор for,
    который организует циклы в Go
  • ключевое слово return,
    которое завершает выполнение функции и возвращает результат