为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Golang 中查找来自控制台的标志数

如何在 Golang 中查找来自控制台的标志数

Go
蝴蝶不菲 2021-11-01 17:19:06
我正在从控制台传递参数。还有一些标志。喜欢:go run test.go "-IP=10.10.10.10" "-db=kite" "-wv=45" "-cv=75" "A = value1" "B = value2" "C = 100" "D := ((A-B)/A)*C" "D ?"这里, -IP, -db, -wv,-wc这四个是标志,其他人作为我知道的正常参数传递。标志的数量可以是可变的。我怎么知道有多少标志被传递给我的程序。在这种情况下,4会传递标志。
查看完整描述

1 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

如果使用标准flag包来解析命令行标志,则可以调用 NFlag 函数来获取标志的数量:


package main

import "fmt"

import "flag"


func main() {

        flag.Bool("a", true, "A value");

        flag.Bool("b", true, "B value");

        flag.Parse();


        fmt.Println(flag.NFlag())

}

测试:


$ go run test.go 

0

$ go run test.go -a

1

$ go run test.go -a -b

2


查看完整回答
反对 回复 2021-11-01
  • 1 回答
  • 0 关注
  • 145 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信