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

Переменная os.Args

Переменная os.Args представляет собой срез строк ([]string), содержащий аргументы командной строки, с которыми была запущена программа. Первый элемент этого среза (os.Args[0]) — это имя запущенной программы. Все последующие элементы — это аргументы, переданные программе через пробел. Если аргументы не переданы, срез содержит только один элемент — имя программы. Переменная доступна без импорта дополнительных пакетов, так как находится в пакете os.

Синтаксис

os.Args // []string

Пример

Получим имя программы и все переданные аргументы:

package main import ( "fmt" "os" ) func main() { fmt.Println("Program name:", os.Args[0]) fmt.Println("All arguments:", os.Args[1:]) }

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

"Program name: ./myprogram" "All arguments: [arg1 arg2 arg3]"

Пример

Проверим, переданы ли аргументы, и выведем их количество:

package main import ( "fmt" "os" ) func main() { if len(os.Args) == 1 { fmt.Println("No arguments provided") } else { fmt.Printf("Number of arguments: %d\n", len(os.Args)-1) for i, arg := range os.Args[1:] { fmt.Printf("Arg %d: %s\n", i+1, arg) } } }

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

"No arguments provided"

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

"Number of arguments: 3" "Arg 1: first" "Arg 2: second" "Arg 3: third"

Пример

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

package main import ( "fmt" "os" ) func main() { if len(os.Args) < 2 { fmt.Println("Usage: program [mode]") return } mode := os.Args[1] switch mode { case "fast": fmt.Println("Running in fast mode") case "slow": fmt.Println("Running in slow mode") default: fmt.Printf("Unknown mode: %s\n", mode) } }

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

"Running in fast mode"

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

"Running in slow mode"

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

"Unknown mode: unknown"

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

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