В этом уроке о пакете Scanner в Golang мы изучим различные примеры того, как использовать сканеры разными способами на языке программирования Go. Мы начнем сейчас.
Начиная с Go
Чтобы убедиться, что у нас есть единообразная настройка среды, вот структура каталогов, которую я создал для моей программы Hello World:
Вот созданная нами программа:
основной пакетимпорт "FMT"
func main ()
fmt.Printf ("Привет, мир.\ n ")
Мы можем запустить указанную выше программу с помощью следующей команды:
иди, беги, привет.идтиПосле того, как мы запустим эту команду, вы увидите результат:
Теперь это выглядит хорошо. Перейдем к нашей основной повестке дня.
Сканер и пакет Bufio в Голанге
В этом посте мы рассмотрим пакеты bufio и scanner.
Мы начнем с очень простого примера разделения строк на несколько слов. Давайте на следующем примере:
основной пакетИмпортировать (
"буфио"
"fmt"
"струны"
)
func main ()
inputStr: = "golang shubham linux"
сканер: = bufio.NewScanner (строки.NewReader (inputStr))
сканер.Сплит (bufio.ScanWords)
для сканера.Scan ()
fmt.Println (сканер.Текст())
Результатом этой программы будет:
ГолангШубхам
linux
Здесь Scanner использовал буферизованный ввод, считывая предоставленный ввод как Stream.
Чтение файла
Теперь давайте попробуем прочитать файл в Go, используя bufio для чтения файла построчно. Для этого сначала мы создаем образец файла в том же каталоге, что и наша программа Go. Вот наш файл:
Затем мы пишем нашу программу для чтения этого файла построчно:
основной пакетИмпортировать (
"буфио"
"fmt"
"бревно"
"Операционные системы"
)
func main ()
fileToRead, ошибка: = os.Открыть("./Привет.текст")
если ошибка != nil
бревно.Фатальная ошибка)
отложить fileToRead.Закрывать()
сканер: = bufio.NewScanner (fileToRead)
для сканера.Scan ()
fmt.Println (сканер.Текст())
если ошибка: = сканер.Err (); ошибка != nil
бревно.Фатальная ошибка)
Как только мы запустим эту программу, вот результат, который мы получим
Ввод пользовательского ввода с помощью bufio
Это наиболее полезная операция, которую можно выполнить, когда пользователь начинает с языка Golang.
Мы можем ввести пользовательский ввод, например:
основной пакетИмпортировать (
"буфио"
"fmt"
"Операционные системы"
)
func main ()
читатель: = bufio.NewReader (os.Stdin)
fmt.Печать ("Введите текст:")
текст, _: = читатель.ReadString ('\ n')
fmt.Println (текст)
Теперь запустим эту программу:
Отметим, что есть еще один способ ввода, если вы в порядке, НЕ принимаете в нем пробелы:
основной пакетимпорт "FMT"
строка ввода var
func main ()
fmt.Печать ("Введите свое имя =")
fmt.Scanf ("% s", & ввод)
fmt.Println ("Привет" + ввод)
Теперь запустим эту программу:
Заключение
Для изучения очень полезен пакет Scanner и Bufio в Go, и никогда не бывает достаточно. Прочтите больше примеров для пакета и попробуйте как можно больше самостоятельно.