Как обрабатывать обязательные и необязательные аргументы командной строки? - PullRequest
0 голосов
/ 02 марта 2020

Я хочу создать скрипт с некоторыми параметрами, такими как param1, param2, param3. param1 должен быть установлен , в противном случае он выводит ошибку и завершает работу из скрипта, тогда как другие 2 параметра не нужны.

Как я могу сделать основной после сборки если я запускаю ./main param1 abc param2 good сохраняет в param1 строку abc и в param2 строку good?

1 Ответ

0 голосов
/ 02 марта 2020

Вы можете использовать пакет flag . См. Код ниже:

package main

import (
    "flag"
    "fmt"
    "os"
)

func main() {

    var param1 string
    var param2 string
    var param3 string
    var param4 string

    flag.StringVar(&param1, "param1", "", "Parameter 1")
    flag.StringVar(&param2, "param2", "", "Parameter 2")
    flag.StringVar(&param3, "param3", "", "Parameter 3")
    flag.StringVar(&param4, "param4", "", "Parameter 4")

    flag.Parse()
    if param1 == "" {
        fmt.Print("Missing required parameter 1 \n")
        os.Exit(1)
    }

}

После того, как вы его построите, вы можете запустить ./main -param1=abc -param2=good, и для переменных param1 и param2 будут установлены значения abc и good соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...