1. os.Args
package main
import (
"fmt"
"os"
)
func main() {
s, sep := "", ""
for index, arg := range os.Args[0:] {
s += sep + arg
fmt.Println(index, arg)
// sep = " "
}
fmt.Println(s)
}
// os.Args变量是一个字符串(string)的切片(slice),类似python的切片 s[m:n]这个切片,0 ≤ m ≤ n ≤ len(s),包含n-m个元素。os.Args输出的是执行文件信息
// PS D:\GO_workspace\BASIC> go run .\命令行参数.go 111 222 333 444 555
// 0 C:\Users\XUE~1.XIO\AppData\Local\Temp\go-build1439121805\b001\exe\命令行参数.exe
// 1 111
// 2 222
// 3 333
// 4 444
------------------------------------------------------------------------------
package main
import (
"fmt"
"os"
)
func main() {
s, sep := "", ""
for _, arg := range os.Args[0:] {
// _是用作索引赋值 。go不允许直接处理元素,必须处理索引。如果索引不赋值的话go会出现编译错误(测试确实如此),所以引入空标识符。
// 空标识符可以用于需要变量名但不需要使用的情况,在此循环中可以丢弃_(索引赋值),但是保留元素
s += sep + arg
// sep = " "
}
fmt.Println(s)
}