- Go Systems Programming
- Mihalis Tsoukalos
- 289字
- 2021-07-02 18:07:57
Using command-line arguments
Command-line arguments allow your programs to get input, such as the names of the files you want to process, without having to write a different version of the program. Hence, you cannot create any useful systems software if you're unable to process the command-line arguments passed to it.
So here is a naive Go program, named cla.go, that prints all its command-line arguments, including the name of the executable file:
package main import "fmt" import "os" func main() { arguments := os.Args for i := 0; i < len(arguments); i++ { fmt.Println(arguments[i]) } }
As you can see, Go needs an extra package named os in order to read the command-line arguments of a program that are stored in the os.Args array. In case you do not like having multiple import statements, you can rewrite the two import statements as follows, which I find much easier to read:
import ( "fmt" "os" )
The Go code of cla.go is simple as it stores all the command-line arguments in an array and uses a for loop for printing them. As you will see in forthcoming chapters, the os package can do many more things. If you are familiar with C, you should know that in C, command-line arguments are automatically passed to programs, and you do not need to include any extra header files in order to read them. Go uses a different approach that gives you more control but requires slightly more code.
Executing cla.go after building it first will create the following kind of output:
$ ./cla 1 2 three ./cla 1 2 three
- ReSharper Essentials
- Linux網絡程序設計:基于龍芯平臺
- Windows Presentation Foundation Development Cookbook
- JSP開發案例教程
- Big Data Analytics
- Web程序設計(第二版)
- 劍指MySQL:架構、調優與運維
- C#實踐教程(第2版)
- Python機器學習算法: 原理、實現與案例
- D3.js By Example
- App Inventor少兒趣味編程動手做
- AI自動化測試:技術原理、平臺搭建與工程實踐
- 微信小程序開發邊做邊學(微課視頻版)
- Improving your Penetration Testing Skills
- PHP從入門到精通(第7版)