golang中的flag.String()和flag.Parse()
flag.String()
flag.string的作用在程序启动时来解析参数
flag.String需要三个参数
参数名 | 解释 |
---|---|
name | 命令行参数名称(key),比如 -b, -help |
value | 默认值(key的默认值),未显式指定的参数,给出隐式的默认值 |
usage | key的提示信息 |
flag.Parse()
有flag.Parse()时,会把用户传递的命令行参数解析为对应变量的值(一个是解析参数,一个是解析参数的值)
例子
有flag.Parse()
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)
go run test.go方式直接运行,会打印默认值,运行结果如图
go run test.go -ip 则提示您相关的帮助信息
go run test.go -ip="192.168.1.128"则替换你之前为ip设置的127.0.0.1的默认值
没有flag.Parse()
func main() {
ip := flag.String("ip", "127.0.0.0", "help message for flagname")
//flag.Parse()
fmt.Printf("%v\n", *ip)
}
运行go run test.go -ip="192.168.1.128"则不会替换你之前为ip设置的127.0.0.1的默认值