@NubasLol

Как работает switch?

test1 := false
	test2 := true
	test3 := false

	switch {
	case test1:
		fmt.Println(1)
		fallthrough
	case test2:
		fmt.Println(2)

		fallthrough

	case test3:
		fmt.Println(3)
	}


Выводит 2,3. Почему?
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
В спецификации на гошку это описано.
In a case or default clause, the last non-empty statement may be a (possibly labeled) "fallthrough" statement to indicate that control should flow from the end of this clause to the first statement of the next clause

То есть, fallthrough передает управление первой строчке следующего кейса, не проверяя никаких условий.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 120 000 до 170 000 ₽
LifeStyle platform Москва
от 180 000 до 250 000 ₽
2GIS Новосибирск
от 80 000 до 120 000 ₽
28 февр. 2020, в 11:33
1000 руб./за проект
28 февр. 2020, в 11:29
1000 руб./за проект
28 февр. 2020, в 11:25
3000 руб./за проект