Files
chis_osi/main.go
T

48 lines
864 B
Go
Raw Normal View History

2026-07-06 20:54:23 +08:00
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)
}