42 lines
960 B
Go
42 lines
960 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
func main() {
|
|
port := flag.Int("port", 8080, "服务监听端口")
|
|
config := flag.String("config", "./config.yaml", "配置文件路径")
|
|
|
|
// 重写全局帮助信息
|
|
flag.Usage = func() {
|
|
_, err := fmt.Fprintf(flag.CommandLine.Output(), "=== 服务启动工具 V1.0 ===\n\n")
|
|
if err != nil {
|
|
return
|
|
}
|
|
_, err = fmt.Fprintf(flag.CommandLine.Output(), "用法:%s [可选参数]\n\n", os.Args[0])
|
|
if err != nil {
|
|
return
|
|
}
|
|
_, err = fmt.Fprintf(flag.CommandLine.Output(), "参数说明:\n")
|
|
if err != nil {
|
|
return
|
|
}
|
|
flag.PrintDefaults()
|
|
_, err = fmt.Fprintf(flag.CommandLine.Output(), "\n使用示例:\n")
|
|
if err != nil {
|
|
return
|
|
}
|
|
_, err = fmt.Fprintf(flag.CommandLine.Output(), " %s -port=8080 -config=app.yaml\n", os.Args[0])
|
|
if err != nil {
|
|
return
|
|
}
|
|
}
|
|
|
|
flag.Parse()
|
|
|
|
fmt.Printf("服务启动成功,端口:%d,配置文件:%s\n", *port, *config)
|
|
}
|