命令行编程
使用os.Args获取命令行参数
os.Args获取命令行参数os.Args切片存储了命令行的所有参数,其中首位元素为命令名称:
package main
import (
"fmt"
"os"
)
func main() {
s, sep := "", ""
for _, arg := range os.Args { // 通常使用方式:args := os.Args[1:]
s += sep + arg
sep = " "
}
fmt.Println(s)
}构建完毕后,执行可执行程序main: ./main a bcd edf结果如下
~/GlandProject/bin/main a bcd edf使用flag获取命令行参数
flag获取命令行参数无任何输入参数调用:
传递参数调用:
传递错误的参数:
传递多余的参数调用:
查看帮助命令
flag会自动为程序生成帮助命令:
命令行传参形式
单个bool标志:
main -b=true,可以省略为main -b一下四种传参形式是相同的:
main --name=zhangsamain --name zhangsanmain -name=zhangsanmain -name zhangsan
约定俗称将单个
-表示命令参数的缩写,两个-,也就是--表示命令参数全写
非标志参数
也就是不带-的参数:
命令缩写实现
通过提供2个标志处理程序实现:
强制参数
也就是必需参数,通过判断值是否为零值确认:
最后更新于
这有帮助吗?