package main import ( "context" "flag" "strings" "code.widuu.com/widuu/micro_service/demo1/cmd" ) var ( port = flag.String("port", ":1234", "run port") runMode = flag.String("mode", "", "run mode") ) func main() { flag.Parse() if !strings.Contains(*port, ":") { *port = ":" + *port } ctx, cancel := context.WithCancel(context.Background()) defer cancel() switch *runMode { case "client": cmd.RunClient(*port) return case "server": cmd.RunServer(*port, ctx) return default: go cmd.RunServer(*port, ctx) cmd.RunClient(*port) } }