Введение
Цель этого лабораторного занятия - практиковаться в работе с аргументами командной строки в Golang.
Аргументы командной строки
Программа в настоящее время выводит сырые аргументы командной строки, переданные ей. Однако, ее необходимо модифицировать, чтобы выводить конкретные аргументы в зависимости от их индекса.
- Основные знания Golang
- Знание аргументов командной строки
## Для эксперимента с аргументами командной строки лучше
## сначала собрать бинарник с помощью `go build`.
$ go build command-line-arguments.go
$./command-line-arguments a b c d
[./command-line-arguments a b c d]
[a b c d]
c
## Далее мы рассмотрим более продвинутую обработку
## командной строки с использованием флагов.
Ниже представлен полный код:
// [_Аргументы командной строки_](https://en.wikipedia.org/wiki/Command-line_interface#Arguments)
// - это распространенный способ параметризации выполнения программ.
// Например, `go run hello.go` использует аргументы `run` и
// `hello.go` для программы `go`.
package main
import (
"fmt"
"os"
)
func main() {
// `os.Args` позволяет получить доступ к сырым аргументам
// командной строки. Обратите внимание, что первое значение
// в этом срезе - это путь к программе, а `os.Args[1:]`
// содержит аргументы программы.
argsWithProg := os.Args
argsWithoutProg := os.Args[1:]
// Вы можете получить отдельные аргументы с помощью
// обычного индексирования.
arg := os.Args[3]
fmt.Println(argsWithProg)
fmt.Println(argsWithoutProg)
fmt.Println(arg)
}
Резюме
В этом лабораторном занятии мы узнали, как получать доступ к конкретным аргументам командной строки и выводить их в Golang. Используя переменную os.Args и индексируя ее, мы можем легко получить доступ к аргументам, переданным программе.