Golang String Флаг командной строки - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь заставить флаги командной строки работать со строками в golang. Вот мой файл main / main.go:

package main

import (
    "flag"
    "log"
)

func main() {
    flagString := flag.String("string", "foo", "Enter this string and have it printed back out.")

    log.Println("You entered ", *flagString)

 }

Это просто берет флаг из командной строки и выводит его со значением по умолчанию "foo".

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

> main -string=bar

(log time+date) You entered foo

> main -string="bar"

(log time+date) You entered foo

Что-то не так с моим кодом или я неправильно ввожу его в командную строку?

Кстати, я использую Windows 10.

1 Ответ

0 голосов
/ 13 сентября 2018

После вызова flag.String (...) вам нужно просто вызвать flag.Parse ().

В вашем примере:

основной пакет

import (
     "flag"
     "log"
)

func main() {
     flagString := flag.String("string", "foo", "Enter this string and have it printed back out.")
     flags.Parse()

     log.Println("You entered ", *flagString)

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