首次提交:初始化项目代码
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"os"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// 初始化子命令FlagSet
|
||||
startCmd := flag.NewFlagSet("start", flag.ContinueOnError)
|
||||
stopCmd := flag.NewFlagSet("stop", flag.ContinueOnError)
|
||||
|
||||
// 子命令私有参数
|
||||
var port int
|
||||
var config string
|
||||
startCmd.IntVar(&port, "port", 8080, "服务监听端口")
|
||||
stopCmd.StringVar(&config, "config", "./config.yaml", "服务配置文件")
|
||||
|
||||
// 校验子命令是否传入
|
||||
if len(os.Args) < 2 {
|
||||
fmt.Println("可用子命令:start / stop")
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// 路由分发
|
||||
switch os.Args[1] {
|
||||
case "start":
|
||||
_ = startCmd.Parse(os.Args[2:])
|
||||
fmt.Printf("启动服务成功,端口:%d\n", port)
|
||||
case "stop":
|
||||
_ = stopCmd.Parse(os.Args[2:])
|
||||
fmt.Printf("停止服务,配置文件:%s\n", config)
|
||||
default:
|
||||
fmt.Printf("未知子命令:%s\n", os.Args[1])
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user