РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1383 of 1593 menu

Функция flag.StringVar

Функция flag.StringVar позволяет привязать строковый флаг командной строки к уже существующей переменной. В отличие от функции flag.String, которая создает новую переменную и возвращает указатель на нее, flag.StringVar принимает указатель на переменную, куда будет сохранено значение флага. В первый параметр функция принимает указатель на строковую переменную, во второй параметр — имя флага, в третий параметр — значение по умолчанию, в четвертый параметр — описание флага.

Синтаксис

flag.StringVar(ptr, name, defaultValue, usage)

Пример sect

Давайте создадим строковый флаг с именем "name", значением по умолчанию "Guest" и описанием "user name":

package main import ( "flag" "fmt" ) func main() { var name string flag.StringVar(&name, "name", "Guest", "user name") flag.Parse() fmt.Printf("Hello, %s!", name) }

Результат выполнения кода при запуске без аргументов:

"Hello, Guest!"

Результат выполнения кода при запуске с аргументом "name=John":

"Hello, John!"

Пример sect

Давайте создадим несколько строковых флагов с разными значениями по умолчанию:

package main import ( "flag" "fmt" ) func main() { var host string var port string flag.StringVar(&host, "host", "localhost", "server host") flag.StringVar(&port, "port", "8080", "server port") flag.Parse() fmt.Printf("Server running on %s:%s", host, port) }

Результат выполнения кода при запуске с аргументами "host=127.0.0.1 port=9090":

"Server running on 127.0.0.1:9090"

Пример sect

Давайте рассмотрим, как работает обработка пустых строковых флагов:

package main import ( "flag" "fmt" ) func main() { var config string flag.StringVar(&config, "config", "", "path to config file") flag.Parse() if config == "" { fmt.Println("No config file provided") } else { fmt.Printf("Using config file: %s", config) } }

Результат выполнения кода при запуске без аргументов:

"No config file provided"

Результат выполнения кода при запуске с аргументом "config=./app.conf":

"Using config file: ./app.conf"

Смотрите также

  • функцию flag.String,
    которая создает новый строковый флаг и возвращает указатель
  • функцию flag.IntVar,
    которая привязывает целочисленный флаг к переменной
  • функцию flag.BoolVar,
    которая привязывает логический флаг к переменной
  • функцию flag.Parse,
    которая разбирает переданные аргументы командной строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить