我正在从控制台传递参数。还有一些标志。喜欢: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
- 1 回答
- 0 关注
- 145 浏览
添加回答
举报
0/150
提交
取消