From 918d09238a5420f44862afc0f0ab05803b6240b3 Mon Sep 17 00:00:00 2001 From: Mark McGranaghan Date: Fri, 21 Sep 2012 08:19:55 -0700 Subject: [PATCH] command-line-args --- 044-args.go | 12 ------------ 044-command-line-args.go | 25 +++++++++++++++++++++++++ tool/index.txt | 2 +- 3 files changed, 26 insertions(+), 13 deletions(-) delete mode 100644 044-args.go create mode 100644 044-command-line-args.go diff --git a/044-args.go b/044-args.go deleted file mode 100644 index 1fb98e5..0000000 --- a/044-args.go +++ /dev/null @@ -1,12 +0,0 @@ -package main - -import ("os"; "fmt") - -func main() { - argsWithProgram := os.Args - argsWithoutProgram := os.Args[1:] - arg := os.Args[3] - fmt.Println(argsWithProgram) - fmt.Println(argsWithoutProgram) - fmt.Println(arg) -} diff --git a/044-command-line-args.go b/044-command-line-args.go new file mode 100644 index 0000000..03244ad --- /dev/null +++ b/044-command-line-args.go @@ -0,0 +1,25 @@ +package main // Use `os.Args` to access command-line arguments and + // the name of the program. +import ("os"; "fmt") + +func main() { + argsWithProg := os.Args // `os.Args` includes the program name as the first + argsWithoutProg := os.Args[1:] // value. + + arg := os.Args[3] // `Args` are a slice, you can get individual args + // with normal indexing. + + fmt.Println(argsWithProg) + fmt.Println(argsWithoutProg) + fmt.Println(arg) +} + +/* +$ go build command-line-args // Build a `command-line-args` binary so that we have + // the expected program name. + +$ ./command-line-args a b c d +[command-line-args a b c d] +[a b c d] +c +*/ diff --git a/tool/index.txt b/tool/index.txt index 301dcd9..b6c04e3 100644 --- a/tool/index.txt +++ b/tool/index.txt @@ -41,7 +41,7 @@ select timeout string-fns bytes -args +command-line-args burstable-rate-limiting dns elapsed