
Баг: Забывать нормализовать ввод (TrimSpace)
Да, scanner.Text() уже убирает \n, но это не значит, что строка становится “чистой” для сравнения или логики.
Частая ошибка - сравнивать ввод напрямую:
scanner.Scan()
text := scanner.Text()
if text == "yes" { // может не сработатьПроблема в том, что пользователь мог ввести:
"yes "(пробел в конце)" yes"(пробел в начале)"yes\t"(таб)
И Text() это не удаляет.
Правильный подход - всегда нормализовать ввод:
text := strings.TrimSpace(scanner.Text())
if text == "yes" {
fmt.Println("OK")
}scanner.Text() убирает перевод строки, но не очищает пробелы - поэтому без TrimSpace легко получить “невидимые” ошибки сравнения.
Загрузка...