Share This
Связаться со мной
Крути в низ
Categories
//Go для начинающих. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста

Go для начинающих. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста

go dlja nachinajushhih organizacija koda pakety importy moduli vvod vyvod teksta 6a9af5e - Go для начинающих. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста

Энтузиаст-разработчик с опытом более трех лет. Сфера интересов — backend, кибербезопасность, web 3.0 В этом уроке мы создадим и запустим простую программу на Go и на её примере познакомимся с организацией кода и основными функциями.

go dlja nachinajushhih organizacija koda pakety importy moduli vvod vyvod teksta 5ae6513 - Go для начинающих. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста

← Часть 2 Ресурсы для изучения Go с нуля

Первая программа

Давайте напишем программу на Go, которая будет считывать имя пользователя и выводить сообщение с приветствием в консоль.

Первым делом создадим папку main/ и разместим там файл main.go , который будет содержать следующий код:

main.go

         package main // определили пакет main  import "fmt" // импортировали пакет fmt  // функция для входа в программу func main() { 	var name string // объявили переменную name типа string 	fmt.Scan(&name) // считали переменную name с потока ввода  	// функция Print() печатает сообщение в консоль 	fmt.Print("Hello, ", name) }      

Разбор программы

Организация кода

Наша программа начинается со строки package main, которая определяет используемый пакет. В Go каждый программный файл должен быть частью какого-либо пакета.

При разработке на Go нужно обязательно создавать файл с объявлением главного пакета package main и функции main(), потому что именно она задает точку входа в программу.

Стоит помнить, что имя пакета должно соответствовать названию директории, в которой расположены его файлы. К примеру, если в папке application/ содержится файл server.go, то название пакета в нем должно быть package application.

В следующей строке происходит импорт пакета «fmt», который содержится в стандартной библиотеке языка и предназначен для форматирования ввода-вывода:

main.go

         import "fmt" // импортировали пакет "fmt" для ввода-вывода      

Для импорта несколько пакетов используют круглые скобки:

         import ( 	"fmt" 	"strings" )      

Стандартная библиотека языка содержит большое количество пакетов для часто используемых задач. К примеру, «fmt» используется для форматирования ввода-вывода, «strings» – для работы со строками. Для скачивания сторонних пакетов существует специальная команда go get <название пакета>

Например, так можно скачать пакет lib/pq, содержащий драйвер для работы с СУБД PostgreSQL в Go:

         go get github.com/lib/pq      

👨‍💻 Библиотека Go разработчика Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека Go разработчика» 🎓 Библиотека Go для собеса Подтянуть свои знания по Go вы можете на нашем телеграм-канале «Библиотека Go для собеса» 🧩 Библиотека задач по Go Интересные задачи по Go для практики можно найти на нашем телеграм-канале «Библиотека задач по Go»

Функции

Переходим к разбору строк, содержащих логику работы программы:

main.go

         // функция для входа в программу func main() { 	var name string // объявили переменную name типа string 	fmt.Scan(&name) // считали переменную name с потока ввода  	// функция Print() печатает сообщение в консоль 	fmt.Print("Hello, ", name) }      

Здесь происходит объявление функции main() с помощью ключевого слова func и вызов функций fmt.Scan() и fmt.Print() из ранее импортированного пакета"fmt". Первая из них отвечает за ввод данных с клавиатуры, а вторая – за вывод сообщения с переданными данными в консоль.

Что такое функции в Go?

Функции – это подпрограммы, позволяющие структурировать, упрощать и адаптировать написанный код. Они принимают входные параметры (аргументы) и после их обработки выдают требуемый результат.

Подробнее мы разберем функции в отдельном разделе, на текущем этапе главное — понять, что они отвечают за выполнение определенных задач, в нашем случае за запуск программы, считывание данных с клавиатуры и их вывод в консоль.

Система модулей

Модули в контексте языка Go — это коллекции пакетов и файлов конфигурации, которые обеспечивают управление зависимостями и версионирование проекта, а также решают проблемы, характерные для старой системы GOPATH. Они позволяют разработчикам создавать структурированные проекты и управлять версиями используемых библиотек.

Давайте инициализируем модуль в ранее созданной директории main/. Для этого нам понадобится команда go mod init:

         go mod init github.com/<ваш_ник_в_github>/main      

Теперь в папке main/ должен появиться файл go.mod, в котором указаны все использованные модули и импортированные пакеты. Его содержимое будет выглядеть примерно так:

go.mod

         module github.com/<ваш_ник_в_github>/main  go 1.21.4 // здесь указана используемая в проекте версия go      

В первой строке файла go.mod содержится название модуля, которое обычно дается по адресу расположения репозитория. Далее указывается минимальная совместимая версия Go, после чего следует список зависимостей. В нашем случае он пуст. Для его обновления нужно импортировать пакет с помощью команды go get , как это было показано ранее с lib/pq .

На практике часто используется команда go mod tidy, которая помимо импорта загружает отсутствующие зависимости и удаляет лишние.

Компиляция и выполнение программы

Язык Go является компилируемым, то есть написанный на нём исходный код преобразуется в машинный и затем записывается в файл, исполняемый компьютером.

Компиляция – это процесс преобразования программы, написанной на языке программирования высокого уровня, в исполняемый машинный код, который может быть выполнен компьютером.

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

В Go есть два способа запуска программ:

  1. С помощью команды go run <имя_файла>.go . Она автоматически компилирует исполняемый файл, запускает его и сразу же удаляет. Этот способ используется в тех случаях, когда нужно разово запустить небольшой кусок кода и быстро получить результат.
  2. С помощью команды go build <имя_файла>.go . Она также занимается компиляцией и создает в директории исполняемый файл, способный запускаться на разных ОС. Особенностью этой команды является то, что она обеспечивает кроссплатформенность, так как позволяет контролировать, для какой ОС и архитектуры создается бинарный файл.

Скомпилируем нашу первую программу и посмотрим на полученный вывод. Для этого в консоли введем команду go build main.go, предварительно перейдя в ранее созданную директорию main/.

В результате в папке main/ должен появиться исполняемый файл main.exe (Windows) или main (Linux / MacOS). Чтобы его запустить, напишем в консоли main (Windows) или ./main (Linux / MacOS). В появившееся поле введем любую строку, пусть это будет user , после чего получим сообщение Hello, user, что свидетельствует об успешном выполнении кода.

Подведём итог

В этом уроке мы на примере простой программы разобрали концепции программирования и принципы организации кода на Go, а также научились создавать модули и компилировать исходный код.

В следующем уроке узнаем о составных частях любой программы – переменных, основных операциях и типах данных.

***

Содержание самоучителя

  1. Особенности и сфера применения Go, установка, настройка
  2. Ресурсы для изучения Go с нуля
  3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.

  • 0 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Связаться со мной
Close