27 lines
680 B
Go
27 lines
680 B
Go
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)
|
|
})
|
|
}
|