Какой вывод появится в консоли у программы №62

Исходная программа не компилируется. После исправления опечаток она вернёт карту пяти имён со случайными ID и nil-ошибку.

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

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

Исходная программа не компилируется. После исправления опечаток она вернёт карту пяти имён со случайными ID и nil-ошибку.

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

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

Условие

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

import ("fmt"
        "time"
        "context"
        "math/rand"
        )

func main() {
    fmt.Println(Do(context.Background(), []User{{"aaa"}, {"bbb"}, {"ccc"},{"ddd"},{"eee"}}))
}

type User struct {
    Name string
}

func fetchbyName(ctx context.Context, userName string) (int, error) {
    
    time.Sleep( 10 * time.Millisecond)
    return rand.Int() % 100000, nil
}

func Do(ctx context.Contextm users []User) (map[string]int, error){
    collected := make(map[string]int)
    for _, u := range users {
        userID, err := fetchByName(ctx, u.Name)
        if err != nil {
            return collected, err
            }   
        collected [u.Name] = userId
        }
    
    return collected, nil
}

Ответ

Исходная программа не компилируется. После исправления опечаток она вернёт карту пяти имён со случайными ID и nil-ошибку.

Исправьте сигнатуру на Do(ctx context.Context, users []User), согласуйте имя fetchByName с объявлением fetchbyName и используйте один регистр userID. Для отдельного файла также необходим package main.

Исправленный цикл выполняет пять запросов последовательно, каждый с задержкой 10 мс. Поэтому время составляет примерно не меньше 50 мс. Числа 0–99999 случайны и могут совпасть; заранее конкретную карту предсказать нельзя. Context внутри имитатора не проверяется.

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

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

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

Подробнее