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)
}