package main import ( "flag" "fmt" ) func main() { // 定义基础参数 flag.Int("port", 8080, "服务监听端口") flag.String("host", "localhost", "服务绑定主机") flag.Bool("debug", false, "开启调试模式") // 解析参数 flag.Parse() fmt.Println("=== 所有已定义参数(含默认值)===") flag.VisitAll(func(f *flag.Flag) { fmt.Printf("参数名:%-10s 默认值:%-10s 说明:%s\n", f.Name, f.DefValue, f.Usage) }) fmt.Println("\n=== 用户主动传入的参数===") flag.Visit(func(f *flag.Flag) { fmt.Printf("参数名:%-10s 当前值:%-10s 已修改:%v\n", f.Name, f.Value.String(), f.Value.String() != f.DefValue) }) }