Введение

Начав свое путешествие с Go, я обнаружил, что запуск нового проекта состоит из нескольких шагов. Это осознание вдохновило меня на поиск более оптимизированного решения — такого, которое могло бы объединить процесс в единую команду, эффективно создавая проект Go. Благодаря тщательным исследованиям я разработал сценарий Bash, который позволяет создавать проекты Go с помощью всего лишь одной простой команды терминала.

Создание Bash-скрипта

Чтобы начать работу со сценарием Bash, выполните следующие действия:

  1. Откройте текстовый редактор: откройте текстовый редактор в вашей системе. Это может быть базовый текстовый редактор, например «Блокнот» (Windows), TextEdit (Mac), или более многофункциональный редактор кода, например Visual Studio Code или Sublime Text.
  2. Скопируйте и вставьте сценарий. Скопируйте предоставленный ранее сценарий Bash и вставьте его в текстовый редактор.
  3. Сохранить сценарий: сохраните файл с расширением .sh, например create_go_project.sh.
  4. Создайте исполняемый файл сценария. Чтобы запустить сценарий, вам необходимо предоставить ему разрешения на выполнение. Откройте окно терминала и перейдите в каталог, в котором вы сохранили скрипт, с помощью команды cd. Затем выполните следующую команду, чтобы сделать скрипт исполняемым:
chmod +x create_go_project.sh

Скрипт

if [ $# -eq 0 ]; then
    echo "Usage: $0 <project_name>"
    exit 1
fi

project_name="$1"
module_name="$project_name"  # Change this to your desired module name
go_version=$(go version | awk '{print $3}' | sed 's/\.[0-9]*$//')

# Create project directory and navigate to it
mkdir $project_name
cd $project_name

# Initialize Go module and create go.mod file
echo "module $module_name" > go.mod
echo "go ${go_version#go}" >> go.mod

# Create main.go file and populate it
cat <<EOT >> main.go
package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}
EOT

Объяснение

Предоставленный скрипт Bash служит для создания новых проектов Go, где каждая строка имеет значение:

  1. если [ $# -eq 0 ]; then: Этот сегмент подтверждает, были ли переданы сценарию какие-либо аргументы ($#). Если ничего не указано, пользователю будет предложено следовать синтаксису: $0 <project_name>. Затем сценарий завершается с кодом ошибки.
  2. project_name=”$1': Здесь имя проекта присваивается переменной project_name, полученной из первого аргумента ($1), предоставленного при выполнении скрипта.
  3. имя_модуля = ”github.com/yourusername/$project_name”: переменная module_name предназначена для размещения имени модуля проекта. Не стесняйтесь персонализировать его в соответствии со своими предпочтениями.
  4. go_version=$(go version | awk ‘{print $3}’ | sed ‘s/.[0–9]*$//’): в этом разделе используется подстановка команд для получения версии Go. После вызова go version, awk извлекает третье поле (номер версии), а sed удаляет версию исправления.
  5. mkdir $project_name: сценарий переходит к созданию каталога, соответствующего переменной project_name.
  6. cd $project_name: Эта команда перемещает текущий рабочий каталог во вновь созданный каталог проекта.
  7. echo «module $module_name» › go.mod: Здесь файл go.mod инициируется строкой, определяющей module_name.
  8. echo «go ${go_version#go}» ›› go.mod: файл go.mod обновляется строкой, представляющей версию Go, без префикса «go».
  9. cat ‹‹EOT ›› main.go: Последующие строки создают файл main.go. Используя здесь документ (‹‹EOT ... EOT), сценарий встраивает простую программу Go, которая печатает «Hello, World!» при исполнении.

Запуск сценария:

Подготовив и сделав исполняемым сценарий, вы можете запустить его следующим образом:

  1. Откройте терминал: запустите приложение терминала. Это может быть терминал по умолчанию в вашей системе или сторонний эмулятор терминала.
  2. Перейдите к местоположению сценария: используйте команду cd, чтобы перейти к каталогу, в котором вы сохранили сценарий Bash. Например: cd /path/to/script/directory
  3. Выполнение сценария: запустите сценарий, введя следующую команду, заменив myproject желаемым именем проекта: ./create_go_project.sh myproject
  4. Создание проекта: скрипт создаст новый каталог с указанным именем проекта, сгенерирует необходимые файлы и настроит для вас базовую структуру проекта Go.

Следуя этим шагам, вы сможете легко использовать возможности сценария Bash для ускорения процесса создания проектов Go. Одна команда терминала упрощает инициализацию проекта, предоставляя вам больше времени, чтобы сосредоточиться на разработке Go.

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