Это первая часть учебного пособия, которое знакомит с некоторыми фундаментальными особенностями языка Go. Если вы только начинаете работать с Go, обязательно ознакомьтесь с Быстрое начало с Go, в котором представлены команда go, модули Go и очень простой код Go.
В этом уроке вы создадите два модуля. Первый - это библиотека, которая предназначена для импорта другими библиотеками или приложениями. Второй - это приложение для вызывающего абонента, которое будет использовать первый.
Последовательность этого руководства включает семь кратких тем, каждая из которых иллюстрирует разные части языка.
- Создание модуля - напишите небольшой модуль с функциями, которые вы можете вызывать из другого модуля.
- Вызовите свой код из другого модуля - импортируйте и используйте свой новый модуль.
- Возврат и обработка ошибки - добавьте простую обработку ошибок.
- Возврат случайного приветствия - обработка данных в срезах (массивы Go с динамическим размером).
- Возврат приветствия для нескольких людей - храните пары ключ/значение в карте.
- Добавить тест - используйте встроенные функции модульного тестирования Go для тестирования вашего кода.
- Скомпилируйте и установите приложение - скомпилируйте и установите код локально.
Предпосылки
- Некоторый опыт программирования. Код здесь довольно простой, но он помогает кое-что узнать о функциях, циклах и массивах.
- Инструмент для редактирования вашего кода. Любой текстовый редактор, который у вас есть, будет работать нормально. Большинство текстовых редакторов хорошо поддерживают Go. Наиболее популярными являются VSCode (бесплатно), GoLand (платно) и Vim (бесплатно).
- Командный терминал. Go хорошо работает с любым терминалом в Linux и Mac, а также в PowerShell или cmd в Windows.
Запустите модуль, который могут использовать другие
Начните с создания модуля Go. В модуле вы собираете один или несколько связанных пакетов для дискретного и полезного набора функций. Например, вы можете создать модуль с пакетами, в которых есть функции для финансового анализа, чтобы другие, пишущие финансовые приложения, могли использовать вашу работу.
Код Go сгруппирован в пакеты, а пакеты сгруппированы в модули. Ваш модуль определяет зависимости, необходимые для запуска вашего кода, включая версию Go и набор других модулей, которые ей требуются.
По мере того, как вы добавляете или улучшаете функциональность в своем модуле, вы публикуете новые версии модуля. Разработчики, пишущие код, который вызывает функции в вашем модуле, могут импортировать обновленные пакеты модуля и протестировать с новой версией, прежде чем вводить ее в производственное использование.
1. Откройте командную строку и перейдите в домашний каталог.
В Linux или Mac:
cd
В Windows:
cd %HOMEPATH%
2. Создайте каталог greetings для исходного кода вашего модуля Go.
Например, из вашего домашнего каталога используйте следующие команды:
mkdir greetings
cd greetings
3. Запустите свой модуль с помощью команды go mod init.
Запустите команду go mod init, указав ей путь к вашему модулю - здесь используйте example.com/greetings. Если вы публикуете модуль, это должен быть путь, по которому ваш модуль может быть загружен инструментами Go. Это будет репозиторий вашего кода.
$ go mod init example.com/greetings
go: creating new go.mod: module example.com/greetings
Команда go mod init создает файл go.mod для отслеживания зависимостей вашего кода. Пока что файл включает только имя вашего модуля и версию Go, которую поддерживает ваш код. Но по мере добавления зависимостей в файле go.mod будут перечислены версии, от которых зависит ваш код. Это обеспечивает воспроизводимость сборок и дает вам прямой контроль над тем, какие версии модулей использовать.
4. В текстовом редакторе создайте файл для написания кода и назовите его greetings.go.
5. Вставьте следующий код в файл greetings.go и сохраните файл.
package greetings
import "fmt"
// Hello возвращает приветствие для указанного человека.
func Hello(name string) string {
// Возвращаем приветствие, включающее имя в сообщение.
message := fmt.Sprintf("Hi, %v. Welcome!", name)
return message
}
Это первый код для вашего модуля. Он возвращает приветствие любому вызывающему абоненту, который его запрашивает. На следующем шаге вы напишете код, вызывающий эту функцию.
В этом коде вы:
- Объявляете пакет greetings для сбора связанных функций.
- Реализуйте функцию Hello, чтобы вернуть приветствие.
Эта функция принимает параметр name, тип которого - строка. Функция также возвращает строку. В Go функция, имя которой начинается с заглавной буквы, может быть вызвана функцией из другого пакета. Это известно в Go как экспортируемое имя. - Объявляете переменную message для хранения вашего приветствия.
В Go оператор := - это ярлык для объявления и инициализации переменной в одной строке (Go использует значение справа для определения типа переменной). Пройдя долгий путь, вы могли бы написать это как:
var message string message = fmt.Sprintf("Hi, %v. Welcome!", name)
- Используете функцию Sprintf пакета fmt для создания приветственного сообщения. Первый аргумент - это строка формата, и Sprintf заменяет значение параметра name на команду формата %v. Вставка значения параметра name завершает текст приветствия.
- Возвращаете отформатированный текст приветствия вызывающему абоненту.
На следующем шаге вы вызовете эту функцию из другого модуля.
Читайте также:
- Создание модуля в Golang: вызов своего кода из другого модуля
- Создание модуля в Golang: возврат и обработка ошибок
- Создание модуля в Golang: возврат случайного приветствия
- Создание модуля в Golang: ответные приветствия для нескольких человек
- Создание модуля в Golang: добавить тест
- Создание модуля в Golang: скомпилируйте и установите приложение
- Модули в Golang
- Новые изменения модулей в Go 1.16
- Управление зависимостями в Golang
Комментариев нет:
Отправить комментарий