package main import ( "fmt" "log" "os" ) func main() { cmd := tryParseCmd() err := dispatchCmd(cmd) if err != nil { log.Fatalln(err) } } func tryParseCmd() string { if len(os.Args) < 2 { usage() } return os.Args[1] } func usage() { fmt.Println("Usage: remote-mic [listen|stream]") os.Exit(1) } func dispatchCmd(cmd string) error { switch cmd { case "listen": err := listen() if err != nil { return err } case "stream": err := stream() if err != nil { return err } default: usage() } return nil }