//主函数,应用程序入口点 func main() { //从 -s 指定的配置文件中加载配置信息 setting := flag.String("s", defaultSetting, sHelp) flag.Parse() fmt.Printf("使用配置文件 %v 启动Server...\n", *setting) //从配置文件中读取一个配置map //cfg map[string]string cfg, err := config.LoadProperties(*setting) if err != nil && err != io.EOF { fmt.Printf("加载配置文件出错,%v \n", err) return } //检查配置文件必备字段 _, err = checkCfg(cfg) if err != nil { fmt.Printf("检查配置文件出错,%v \n", err) } //启动http服务 http.HandleFunc("/", errorHandler(handler.HandleRoot, cfg)) //http.HandleFunc("/", handler.HandleRoot) listen, _ := cfg["listen"] fmt.Println("server started and liten " + listen) handler.Init(cfg) http.ListenAndServe(listen, nil) }
func main() { hostId, port := handleCommandLine() node.Init() config.Init(fmt.Sprintf("%d_%d", hostId, port)) node.CheckSelf() logger.Init() state.Init() handler.Init(port) }