Какой результат выведет программа в примере №76

Программа напечатает 01234 без перевода строки. Break завершает ближайший switch, а не внешний цикл for.

Короткий ответ

Что ответить на собеседовании

Программа напечатает 01234 без перевода строки. Break завершает ближайший switch, а не внешний цикл for.

Подробный разбор

Ответ с пояснениями

Условие

Определите, какой набор символов будет напечатан в консоль после выполнения следующей программы:

package main

import "fmt"

func main() {
    for i :=0; i < 5; i++{
        fmt.Printf("%d",i)
                
        switch i {
        default:    
        case 2:   
            break
        }
    }
}

Ответ

Программа напечатает 01234 без перевода строки. Break завершает ближайший switch, а не внешний цикл for.

На каждой итерации число печатается до switch. Для i=2 выполняется break, после чего цикл переходит к следующему значению; для остальных работает пустая default-ветка. Чтобы закончить цикл, используйте метку у for и break с её именем либо явно измените структуру управления.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее