ソースを参照

Simplify cmdline parsing

Lucas Stadler 9 年 前
コミット
c011d755a2
共有1 個のファイルを変更した7 個の追加10 個の削除を含む
  1. 7 10
      go/linguaevalia/linguaevalia.go

+ 7 - 10
go/linguaevalia/linguaevalia.go

239
		os.Args[0])
239
		os.Args[0])
240
}
240
}
241
241
242
func parseCommand() (string, []string) {
243
	if len(os.Args) == 1 {
244
		return "server", []string{}
245
	} else {
246
		return os.Args[1], os.Args[2:]
247
	}
248
}
249
250
var language = flag.String("l", "", "The language to use for code passed via stdin.")
242
var language = flag.String("l", "", "The language to use for code passed via stdin.")
251
var host = flag.String("h", "localhost", "The host to listen on.")
243
var host = flag.String("h", "localhost", "The host to listen on.")
252
var port = flag.Int("p", 8000, "The port to listen on.")
244
var port = flag.Int("p", 8000, "The port to listen on.")
253
245
254
func main() {
246
func main() {
255
	cmd, args := parseCommand()
256
	flag.CommandLine.Parse(args)
247
	var cmd string
248
	if len(os.Args) == 1 {
249
		cmd = "server"
250
	} else {
251
		cmd = os.Args[1]
252
	}
253
	flag.Parse()
257
254
258
	switch cmd {
255
	switch cmd {
259
	case "server":
256
	case "server":