Что выведет: switch 1 { case 1: fmt.Println("one"); case 2: fmt.Println("two") }?

Junior
139 просмотров
AFK Offer AI

Выведет только "one". В Go switch не fallthrough по умолчанию (в отличие от C/Java). Каждый case автоматически break. Для fallthrough: добавить ключевое слово fallthrough в конце case. Но fallthrough безусловный — он не проверяет условие следующего case. Это сделано для безопасности — забытый break в C — частый баг.

Следующий вопрос

Какие мокинг библиотеки для Go существуют?