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

Баг: Ожидание, что Scanln прочитает строку с пробелами

// ❌ Ты думаешь: "Scanln - значит читает всю строку"
var fullName string
fmt.Scanln(&fullName)  
// Пользователь ввел: "John Doe"
// fullName = "John"  (опять только до пробела) 😤

// ✅ Scanln работает ТАК ЖЕ как Scan - читает до пробела/табуляции/переноса строки
// Разница только в том, что после чтения ожидает \n

// Правильный способ для строк с пробелами:
reader := bufio.NewReader(os.Stdin)
fullName, _ := reader.ReadString('\n')

Название Scanln обманчиво - оно НЕ читает всю строку, а просто требует перенос строки в конце. Обычный Scan тоже можно завершить \n, разница минимальна.

Загрузка...