chore: 初始化 T-001 Go 骨架
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"chis_osi/config"
|
||||
)
|
||||
|
||||
type appMode string
|
||||
|
||||
const (
|
||||
modeServer appMode = "server"
|
||||
modeDeliver appMode = "deliver"
|
||||
)
|
||||
|
||||
func parseMode(raw string) (appMode, error) {
|
||||
switch appMode(raw) {
|
||||
case modeServer:
|
||||
return modeServer, nil
|
||||
case modeDeliver:
|
||||
return modeDeliver, nil
|
||||
default:
|
||||
return "", fmt.Errorf("invalid mode %q, want server or deliver", raw)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
modeFlag := flag.String("mode", string(modeServer), "运行模式:server 或 deliver")
|
||||
configPath := flag.String("config", "config.yaml", "配置文件路径")
|
||||
flag.Parse()
|
||||
|
||||
mode, err := parseMode(*modeFlag)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(2)
|
||||
}
|
||||
|
||||
_, err = config.Load(*configPath)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "load config: %v\n", err)
|
||||
os.Exit(2)
|
||||
}
|
||||
|
||||
fmt.Printf("chis_osi mode=%s\n", mode)
|
||||
}
|
||||
Reference in New Issue
Block a user