命令行参数os.Args
|
字数总计:
945
|
阅读时长:
1分钟
|
阅读量:
448
这篇文章距离最后更新已过45 天,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
在啃《go程序设计语言》时,官方的例子没明白,通过以下例子加强记忆
package main
import (
"fmt"
"os"
)
func main() {
var s, sep string
fmt.Println(os.Args)
fmt.Println(os.Args[0])
for i := 1; i < len(os.Args); i++ {
fmt.Println(len(os.Args))
s += sep + os.Args[i]
sep = ""
fmt.Println(s)
}
fmt.Println(s)
}
//终端输入
//>>>go run main.go 1 2 3
//终端返回
[/var/folders/vp/xk96hm1s28s4yggxg0hpxrb00000gn/T/go-build3468342993/b001/exe/main 1 2 3]
/var/folders/vp/xk96hm1s28s4yggxg0hpxrb00000gn/T/go-build3468342993/b001/exe/main
4
1
4
12
4
123
123
上述返回数据中含义:
5行 os.Args返回原始命令行参数
6行 os.Args[0]为获取命令行参数程序的路径
7行 切片os.Args的长度
8行 循环体内第一次循环,输出1=os.Args[1]的值
9行 同理7行
10行 循环体内第二次循环,输出12=1+os.Args[2]的值
11行 同理7行
12行 循环体内第三次循环,输出123=12+os.Args[3]的值,4=i++,4=len(os.Args),不满足判断条件,循环体不执行
13行 输出s的值