Monors Note

Pythonとそれ以外いろいろ

2019-06-01から1ヶ月間の記事一覧

golang のtoolの管理に関して

開発をしているとソース内では使用しないが、便利なtoolをgo getしバージョンの管理をしておきたいことがある。 例えば、golang.org/x/tools/cmd/stringerなど。 しかし、go moduleで依存関係を管理している場合、ソースないで使用されていないライブラリは…

for { select {....} }はbreakではfor文を抜けられ無い

Go

golangでtimeoutなどの処理を書く場合に、下記の様にfor文内にselectを記述することがある。 (この時Timeout時にはfor文を抜けたいとす。) for { select { case someChannel: // timeout以外の処理 case time.After(1 * time.Secound): // timeout時の処理 b…

ioパッケージでのファイル書き込み

goのioパッケージにはOpenFileという関数がある。これは、ファイル名、ファイルに対する操作、ファイルのPermissionを設定して、File構造体を作成する関数であうる。 io.OpenFile(filename string, flag int, permission int) golang.org ファイルに対する操…

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

golangでコマンドを作成した場合、フラグによって動作を分けたい場合がある。 この動作はflagパッケージを使うことで可能である。 公式ドキュメント https://golang.org/pkg/flag 非フラグを受け取る cmd 1 2 3など、-hogeでフラグを指定しないことも可能で…