Перейти к содержимому

VK / ВК (ВКонтакте) - 3

Актуальность: 1 кв 2025

Задача: Как работает этот код? Что он выведет? Как ускорить этот код? (речь про Do) go/basics

Заголовок раздела «Задача: Как работает этот код? Что он выведет? Как ускорить этот код? (речь про Do) go/basics»
func main() {
fmt.Println(Do(context.Background(), []User{{"aaa "}, {"bbb "}, {"ccc "}, {"ddd "}, {"eeee "}}))
}
type User struct {
Name string
}
func fetchByName(ctx context.Context, userName string) (int, error) {
// Тут происходит сетевой поход, который по userName возвращает UserID
time.Sleep(10 * time.Millisecond) // имитация сетевого похода
return rand.Int() % 100_000, nil
}
func Do(ctx context.Context, 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
}

Задача: Напишите и протестируйте функцию преобразования числа (Integer) в десятичную строку (string). Пример: 123 -> "123". Встроенные функции преобразования использовать нельзя, StringBuilder использовать нельзя, fmt только в тестах. algorithms/general

Заголовок раздела «Задача: Напишите и протестируйте функцию преобразования числа (Integer) в десятичную строку (string). Пример: 123 -> "123". Встроенные функции преобразования использовать нельзя, StringBuilder использовать нельзя, fmt только в тестах. algorithms/general»
func solve(num int) string {
// ...
}