Golang Запуск скрипта с консоли с параметром
Есть проект на го. Скомпилил бинарник и мне надо его запустить через командную строку с параметром, чтобы узнать версию, например вот так script_name -version после чего он напишет версию программы в консоль и закроется. Как это реализовать?
Ответы (1 шт):
Автор решения: Uranus
→ Ссылка
Для обработки аргументов командной строки воспользуйтесь пакетом Flag.
- Создаем константу
version
, в которой храним номер версии программы. - Создаем флаг
-version
с помощьюflag.Bool
, который принимаетfalse
по умолчанию. - Используем
flag.Parse()
для разбора аргументов командной строки. - Если флаг
-version
был установлен, выводим номер версии программы и вызываемos.Exit(0)
для завершения программы. - Если флаг не был установлен, выполняется основная логика программы.
package main
import (
"flag"
"fmt"
"os"
)
// Версия программы
const version = "1.0.0"
func main() {
// Создаем флаг для параметра -version
versionFlag := flag.Bool("version", false, "Отобразить версию программы")
// Парсим аргументы командной строки
flag.Parse()
// Если установлен флаг -version, выводим версию и завершаем программу
if *versionFlag {
fmt.Println("Версия программы:", version)
os.Exit(0)
}
// Основная логика программы
fmt.Println("Запуск основной логики программы...")
// Здесь можете разместить основной код программы
}
После компиляции программы можете запустить её с флагом -version
:
./script_name -version
Вывод будет таким:
Версия программы: 1.0.0
Если флаг -version
не указан, программа продолжит выполнение основной логики.