Args - (argv) command line arguments
- Args
- os.Args
os.Args is a slice of strings (we'll talk about slices in later in detail) that contains the values on the command line.
The first element of this slice (index 0) is the path to the executable. If we run this using go run
then it
will be some strange-looking temporary location.
len
gives us the number of elements on the command line that will be 1 if there are no parameters on the command line.
Using a square-bracket after the name os.Args
allows us to access the specific elements in the slice.
Later we'll learn higher level abstractions to read command line parameters, but for now this will be enough.
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println(len(os.Args))
fmt.Println(os.Args)
fmt.Println(os.Args[0]) // the path to the compiled executable
fmt.Printf("%T\n", os.Args) // []string (slice)
}
go run examples/cli/cli.go hello world
3
[/tmp/go-build781021115/b001/exe/cli hello world]
/tmp/go-build781021115/b001/exe/cli
[]string