🧐Привет, друзья! Продолжаю писать для вас посты с разбором самых часто задаваемых вопросов из наших курсов.
📘Сегодня разберёмся с особенностями функций
fmt.Scan
,
fmt.Scanf
,
fmt.Scanln
и узнаем, как и когда использовать пустой идентификатор
_
.
💡 Что такое fmt.Scan
и его разновидности?
fmt.Scan
помогает считывать ввод и сразу сохранять его в переменные.
Пример:
var name string
var age int
fmt.Scan(&name, &age)
Здесь мы считываем имя и возраст, сохраняя их в
name
и
age
.
Альтернативы
fmt.Scan
:
fmt.Scanf
— позволяет задать формат ввода, полезно, когда надо указать порядок или конкретный тип значений:
fmt.Scanf("%s %d", &name, &age)
fmt.Scanln
— считывает всю строку до конца, включая пробелы (удобно, если текст содержит пробелы).
🕳 Пустой идентификатор _
_
— это пустой идентификатор (не "переменная"), который используется для игнорирования значений. Это полезно, если нужно пропустить значения, которые Go возвращает при вызове функции, но они нам не нужны.
Пример с
fmt.Scan
:
var name string
var age int
_, err := fmt.Scan(&name, &age)
Первый
_
игнорирует количество считанных значений.
err сохраняет информацию о возможных ошибках.
Если нужно полностью игнорировать результаты
fmt.Scan
, можно написать так:
_, _ = fmt.Scan(&var1, &var2)
Это пропустит оба возвращаемых значения, позволяя получить ввод, но не использовать результаты или проверку ошибок. Однако обработка ошибок — важная часть кода, поэтому избегайте этого подхода в серьёзных проектах!
🚀💻Удачи вам в изучении наших курсов:
▶️ PRO Go. Основы программирования
▶️ PRO Go. Алгоритмы поиска и сортировки
▶️ PRO Go. Базовый курс по структурам данных
#fmtScan #пустойиндификатор_