Argomenti di Comando
Per ogni processo Go è automaticamente usabile, senza dichiararlo come in linguaggio C, il vettore di lancio del processo, cioè il
comando e tutti gli argomenti.
Questo è disponibile come slice Args
.
Il separatore di argomenti è una combinazione qualsiasi degli IFS di Unix (Inter Field Separator - spazi, tabs e newline).
Il primo argomento, Args[0]
è il comando stesso.
(590command-line-arguments.go):
package main
import "os"
import "fmt"
func main() {
// os.Args è il vettore di lancio
// una slice di stringhe
// os.Args[0] è il percorso del comando
// os.Args[1:] sono gli altri argomenti
argsWithProg := os.Args
argsWithoutProg := os.Args[1:]
// Numero degli argomenti
argCount := len(os.Args[1:])
fmt.Println(argCount, " arguments")
// Non tentare di accedere se non c'è
arg := ""
if argCount > 2 {
arg = string(os.Args[3])
}
fmt.Println(argsWithProg)
fmt.Println(argsWithoutProg)
fmt.Println(arg)
}