go语言命令行操作
当我们想要写出一个程序来时,并想要实现一部分功能,就可以使用命令行来操作,让其实现想要实现的功能。
那么,我们应该怎么操作呢
首先我先用os.args写一个小案例
//命令行参数获取
func main() {
args := os.Args
fmt.Printf("%v\t",args)
if len(args)>=2{
for i,v:=range args{
fmt.Printf("args[%d]=%v\t",i,v)
}
}
}
它的效果就是
首先先在cmd中进行编译:go build -o main.exe main.go
可以看出os.args所得到的就是一个[]string,其第一个元素为文件名,第二个元素及以后就是在后面输入的参数了,利用args我们可以实现很多操作了,但它并不能具体表示出是什么操作,客户想要传达的什么内容。
那么我们就可以使用flag表示了。
flag可调用的函数有很多,我演示一个常用的吧。
package main
import (
"os"
"fmt"
"flag"
)
func main() {
cmd := flag.String("cmd", "", "print the info !")
flag.Parse()
fmt.Printf("the cmd is : %s \n",*cmd)
}
结果为:
可以从结果中看到,这个flag的好处是,可以对指定的命令进行赋值。
这样就可以在以后的需求上方便实用了。