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

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

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

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

Как устроен sync.Pool внутри?