Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goPmCdSR 113 of 350 menu
◀ ▶

Диапазон в switch в Go

Сейчас мы зададим диапазон чисел в switch без выражения. В одной ветке case пишут два сравнения через &&. Нижняя и верхняя границы должны быть истинны одновременно.

Пусть оценка равна 7 и попадает в числовой диапазон от 1 до 10 включительно:

n := 7 switch { case n >= 1 && n <= 10: fmt.Println("inside") // сработает это case n < 1: fmt.Println("low") default: fmt.Println("high") }

Поменяем число так, чтобы оно оказалось ниже диапазона:

n := 0 switch { case n >= 1 && n <= 10: fmt.Println("inside") case n < 1: fmt.Println("low") // сработает это default: fmt.Println("high") }

Порядок веток важен. Более узкий диапазон ставят выше общего, иначе широкая ветка заберет число раньше. Так число попадает ровно в одну подходящую группу:

n := 5 switch { case n >= 1 && n <= 5: fmt.Println("narrow") // сработает это case n >= 1 && n <= 10: fmt.Println("wide") default: fmt.Println("other") }

Можно задать несколько диапазонов подряд. Пусть число равно 15 и попадает во второй промежуток:

n := 15 switch { case n >= 1 && n <= 10: fmt.Println("ten") case n >= 11 && n <= 20: fmt.Println("twenty") // сработает это default: fmt.Println("other") }

Дано число:

age := 14

Для чисел от 0 до 12 выведите "kid", для чисел от 13 до 17 выведите "teen", иначе выведите "grown".

Дано число:

slot := 3

Если slot от 1 до 5, выведите "low". Если оно от 6 до 10, выведите "high".

Дано число:

num := 3

Проверьте в switch без выражения, что num больше нуля и меньше 5. При успехе выведите "Y", иначе выведите "N".

Скажите, почему диапазон пишут в switch без выражения.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить