cpp

Операторы сравнения

Операторы сравнения используются в логических выражениях. Перечислим операторы сравнения, доступные в языке Go:

  • == — равно;
  • != — не равно;
  • < — меньше;
  • > — больше;
  • <= — меньше или равно;
  • >= — больше или равно.

Логические выражения возвращают только два значения true (Истина) или false (Ложь). Пример вывода значения логического выражения:

fmt.Println(10 == 10) // true
fmt.Println(10 == 5)  // false
fmt.Println(10 != 5)  // true
fmt.Println(10 < 5)   // false
fmt.Println(10 > 5)   // true
fmt.Println(10 <= 5)  // false
fmt.Println(10 >= 5)  // true

Значение логического выражения можно инвертировать с помощью оператора !. В этом случае если логическое выражение возвращает false, то !false вернет значение true. Пример:

fmt.Println(10 == 5)     // false
fmt.Println(!(10 == 5))  // true

Несколько логических выражений можно объединить в одно большое с помощью следующих операторов:

  • && — логическое И. Логическое выражение вернет true только в случае, если оба подвыражения вернут true. Пример:
fmt.Println( (10 == 10) && (5 != 3) )  // true
fmt.Println( (10 == 10) && (5 == 3) )  // false
fmt.Println( true && true )            // true
fmt.Println( true && false )           // false
fmt.Println( false && true )           // false
fmt.Println( false && false )          // false
  • || — логическое ИЛИ. Логическое выражение вернет true, если хотя бы одно из подвыражений вернет true:
fmt.Println( (10 == 10) || (5 != 3) )  // true
fmt.Println( (10 == 10) || (5 == 3) )  // true
fmt.Println( true || true )            // true
fmt.Println( true || false )           // true
fmt.Println( false || true )           // true
fmt.Println( false || false )          // false

Следует учитывать, что если подвыражение вернет значение true, то следующие подвыражения вычисляться не будут. Например, в логическом выражении f1() || f2() || f3() функция f2() будет вызвана только если функция f1() вернет false, а функция f3() будет вызвана, только если функции f1() и f2() вернут false.

Преобразовать логическое значение в строку позволяет функция FormatBool() из пакета strconv. Формат функции:

strconv.FormatBool(b bool) string

Пример преобразования:

// import "strconv"
fmt.Println(strconv.FormatBool(true))  // true
fmt.Println(strconv.FormatBool(false)) // false

Выполнить обратную операцию можно с помощью функции ParseBool() из пакета strconv. Формат функции:

strconv.ParseBool(str string) (bool, error)

Пример преобразования:

fmt.Println(strconv.ParseBool("true"))  // true <nil>
fmt.Println(strconv.ParseBool("false")) // false <nil>
fmt.Println(strconv.ParseBool("TRUE"))  // true <nil>
fmt.Println(strconv.ParseBool("FALSE")) // false <nil>
fmt.Println(strconv.ParseBool("1"))     // true <nil>
fmt.Println(strconv.ParseBool("0"))     // false <nil>
fmt.Println(strconv.ParseBool("t"))     // true <nil>
fmt.Println(strconv.ParseBool("f"))     // false <nil>
fmt.Println(strconv.ParseBool("T"))     // true <nil>
fmt.Println(strconv.ParseBool("F"))     // false <nil>
fmt.Println(strconv.ParseBool("str"))
// false strconv.ParseBool: parsing "str": invalid syntax

Учебник Go (Golang)
Учебник Go (Golang) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

cpp