golang中的flag包的使用
package flag
import "flag"
flag包实现了命令行参数的解析。
要求:
使用flag.String(), Bool(), Int()等函数注册flag
本次使用flag.Stirng()来讲解一些如何使用
1.首先根据代码来分析
package main
import (
"flag"
"fmt"
)
//flag的作用是用来解析命令行的参数
// go run main.go -ip
func main(){
//返回的是一个ip的指针
ip := flag.String("ip","127.0.0.0","help message for flagname")
flag.Parse()
fmt.Printf("%v\n",*ip)
}
flag.String(arg1,arg2,arg3)*String
agr1:就是key了
agr2:就是key的默认值了
arg3:就是key的提示帮助信息了
2、通过命令行的方式来运行
go run main.go 方式直接运行不加参数,则打印默认值
go run main.go -ip 则提示您相关的帮助信息,可以看到 args3的信息输出到下面了
go run main.go -ip=192.168.1.128 则替换你之前为ip设置的127.0.0.1的默认值
也可这样 go run main.go -ip 192.168.1.128 (前提是只有非bool类型的才可以)
3、通过在golang编辑器中设置来替换默认的参数值
步骤(1)
步骤(2)
在Progrom arguments:中配置的信息,将会在程序的运行时被获取到并替换对应flag.String(arg1,arg2,arg3),arg1的默认值
注意这个时候你就不要使用【命令行】来运行了,因为你配置的参数信息在gland中,所以你直接点击goland的编辑器【运行】按钮就可以了,
你会发现,ip的默认值已经被替换了。
其他的相关的操作信息可以看Go语言的标准库