Сайт работает в тестовом режиме - все замечания, предложения и информацию о найденных ошибках направляйте, пожалуйста, в Telegram-группу
Курс в процессе наполнения. Полный курс доступен на Степике

Баг: Форматная строка не соответствует вводу

// ❌ Пользователь вводит не как в формате
var name string
var age int
fmt.Scanf("%s %d", &name, &age)
// Пользователь ввел: "25 John" (поменял местами)
// Результат: name = "25", age = 0 (ошибка конвертации)

// ❌ Ввели "John,Doe" а ожидаем пробел
fmt.Scanf("%s %s", &first, &last)
// Ввод: "John,Doe" → first = "John,Doe", last = не тронут

// ✅ Либо документируй формат, либо парси вручную
fmt.Print("Введите 'имя возраст': ")
fmt.Scanf("%s %d", &name, &age)

// Или используй Scan для гибкости
fmt.Scan(&name, &age)  // любые пробельные разделители

Scanf - строгая функция. Если пользователь ошибся с форматом (а они постоянно ошибаются), программа либо читает мусор, либо вообще не читает вторую переменную.

Загрузка...