Monors Note

Pythonとそれ以外いろいろ

`go`でコマンドのフラグを扱う

golangでコマンドを作成した場合、フラグによって動作を分けたい場合がある。 この動作はflagパッケージを使うことで可能である。

公式ドキュメント https://golang.org/pkg/flag

非フラグを受け取る

cmd 1 2 3など、-hogeでフラグを指定しないことも可能である。 この場合、ソース内では配列として受け取る。

package main

import "flag"

func main() {
  flag.Parse()
  flags := flag.Arg() //[]stringが返る。
}

フラグを使って受け取る。

cmd -flag somthing-flagを指定してフラグを渡すこともかのである。

package main

import "flag"

func main() 
  // flag.Int(flag_name, default_value, hlep_message)
  f := flag.Int("f", "0", "message")
}