package main import ( "flag" "fmt" ) func main() { // 子命令标准模式:手动捕获错误,不自动退出 fs := flag.NewFlagSet("demo", flag.ContinueOnError) num := fs.Int("num", 0, "数字参数") // 传入非法参数 err := fs.Parse([]string{"-num=abc"}) if err != nil { fmt.Printf("参数解析失败:%v\n", err) return } fmt.Println("参数值:", *num) }