Подаването на данни на командния ред1 е обичаен начин за изпълнение на
програми с различни входни данни. Например при изпълнението на go run
hello.go run и hello.go са податки (данни, подадени на командния ред)
на програмата go.
import (
"fmt"
"os"
)
func main() {
Отрязъкът os.Args съдържа суровите данни, подадени на командния
ред1. Забележете, че първата стойност в отрязъка е пълният пѫт до
програмата, а os.Args[1:] (всички останали стойности) са податките към
програмата.
argsWithProg := os.Args
argsWithoutProg := os.Args[1:]
Можете да ползвате отделните податки като укажете мястото им в отрязъка.
arg := os.Args[3]
fmt.Println(argsWithProg)
fmt.Println(argsWithoutProg)
fmt.Println(arg)
}
За придобиване на опит с податките на командния ред, най-добре е първо да
изградите програмата като изпълните 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
В следващия пример ще разгледаме по-напредничав начин за обработка на податките чрез т.нар. флагове.
Следващ пример: Флагове на командния ред.