Базовый ввод данных пользователем
Часть раздела Основы путешествия по GO на Coddy — урок 32 из 109.
Давайте узнаем, как получать базовый пользовательский ввод в Go. Мы создадим простую программу, которая запрашивает имя и возраст, а затем выводит приветствие.
Сначала давайте создадим переменные для хранения имени и возраста пользователя:
var name string
var age intЭти переменные будут хранить информацию, которую вводит пользователь. Тип string предназначен для текста, а int — для целых чисел.
Затем давайте спросим у пользователя его имя:
fmt.Print("Enter your name: ")
fmt.Scan(&name)После выполнения этого кода на экране появится текст "Enter your name:". Затем программа будет ждать, пока пользователь что-нибудь введет и нажмет Enter.
Все, что они введут, будет сохранено в переменной name. Символ & указывает Go, куда сохранить ввод.
Теперь давайте спросим возраст пользователя:
fmt.Print("Enter your age: ")
fmt.Scan(&age)Аналогично предыдущему шагу, на экране появится "Enter your age:", и программа будет ждать, пока пользователь введет число. Это число будет сохранено в переменной age.
Наконец, давайте выведем приветствие, используя собранную информацию:
fmt.Printf("Hello %s, you are %d years old!\n", name, age)После выполнения этого кода на экране появится персонализированное сообщение.
Например, когда вы запустите эту программу и введете «Gopher» и «5», вы увидите:
Enter your name: Gopher
Enter your age: 5
Hello Gopher, you are 5 years old!Задание
НовичокВ этом испытании вы попрактикуетесь в получении базового пользовательского ввода в Go. Вы будете использовать функцию fmt.Scanln() для чтения ввода от пользователя и сохранения его в переменной.
Ваша задача — завершить программу, которая запрашивает у пользователя его имя, а затем приветствует его.
Примечание: В этом испытании используются предопределенные переменные вместо пользовательского ввода.
Шпаргалка
Чтобы получить ввод пользователя в Go, объявите переменные и используйте fmt.Scan():
var name string
var age int
fmt.Print("Enter your name: ")
fmt.Scan(&name)
fmt.Print("Enter your age: ")
fmt.Scan(&age)
fmt.Printf("Hello %s, you are %d years old!\n", name, age)Символ & указывает Go, где сохранить ввод. Используйте тип string для текста и int для целых чисел.
Попробуйте сами
package main
import "fmt"
func main() {
// Объявить переменную для хранения имени пользователя
var name string
// Вывести подсказку для пользователя
fmt.Print("Enter your name: ")
// TODO: Используйте fmt.Scanln() для чтения ввода пользователя в переменную 'name'
// Вывести приветствие, используя введенное имя
fmt.Printf("Hello, %s! Nice to meet you.", name)
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравнения — Часть 1Операторы сравнения — Часть 2Логический оператор ANDЛогический оператор ORЛогический оператор NOTОсновы приоритета операторовИтоги: выполнение сравнений7Управляющие конструкции: Циклы
Что такое цикл `for`Цикл `for` — основыЦикл `for` — только условиеКлючевое слово `break`Ключевое слово `continue`Вложенные циклыИтоги — повторение действий2Переменные и базовые типы данных
Что такое переменнаяВывод типов с помощью `:=`Целые числа (int)Числа с плавающей точкойЛогический тип (Booleans)СтрокиНулевые значения (Zero Values)КонстантыПравила именованияИтоги: переменные и типы5Основы ввода-вывода
Форматированный выводСпецификаторы форматаВывод типовБазовый ввод данных пользователемИтоги: ввод и вывод8Функции
Понимание функцийОбъявление функцииВызов функцийПараметры функцииВозврат одного значенияВозврат нескольких значенийИменованные возвращаемые значенияОсновы области видимости функцийИтоги — создание переиспользуемого кода3Базовые операторы
Арифметические операторыОператор деленияОператор остатка от деленияОператор присваиванияКомбинированные операторы присваиванияИнкремент и декрементПовторение — Вычисления6Управление потоком: Условные конструкции
Оператор `if`Ключевое слово `else`Ключевое слово `else if`Затенение переменных в `if`Инициализация переменныхОператор `switch`Switch с выражениямиSwitch без выраженийКлючевое слово `fallthrough`Итоги — Принятие решений