小编you*_*gzy的帖子

是一个错误:flag.Parse() 无法在 bool arg 之后获取值吗?

为什么无法获取命令行中 bool 类型 arg 后面的值?
这是我的测试代码:

import (
    "flag"
    "fmt"
)

var stringVal string
var intVal int
var boolValue bool

func init() {
    flag.StringVar(&stringVal, "s", "", "string value")
    flag.BoolVar(&boolValue, "b", false, "bool value")
    flag.IntVar(&intVal, "i", -1, "int value")
}

func main() {
    flag.Parse()

    fmt.Println("stringVal:", stringVal, ", boolValue:", boolValue, ", intVal:", intVal)
}
Run Code Online (Sandbox Code Playgroud)

运行它作为:

  • go run flag.go -s test -b true -i 10
    得到:stringVal: test , boolValue: true , intVal: -1
  • go run flag.go -s test -b false -i 10 …

go

-2
推荐指数
1
解决办法
670
查看次数

标签 统计

go ×1