#10 golang Условный оператор IF

Условный оператор в Go, как и в других языках программирования, представлен конструкцией if c условным выражением.

В качестве условия в Go может быть только выражения обладающее логическим типом данных:

if 2 > 1 {
	fmt.Println("да, это так ;)")
}

или переменная с таким же типом:

a := 2 > 1
if a {
	fmt.Println("да, это так ;)")
}

Как мы помним, в Go нет неявного приведения типов, поэтому мы не можем, как, например, в PHP, использовать пустую строку как эквивалент false. Тип нужно явно приводить к bool.

Условие с блоком инициализации

В условном оператаре через точку заметой перед логическим выжением можно добавить так называемый блок инициаллизации:

mapVal := map[string]string{"name": "rvasily"}
// условие с блоком инициализации
if keyValue, keyExist := mapVal["name"]; keyExist {
	fmt.Println("name =", keyValue)
}
// получаем только признак существования ключа
if _, keyExist := mapVal["name"]; keyExist {
	fmt.Println("key ’name’ exist")
}

-- если значение нам не нужно, то, как обычно, используем нижнее подчеркивание вместо обычного имени переменной

Видео-материалы

  • golang Условный оператор IF - блоки инициализации: ВкВидео | Ютуб | Телеграм