メルカリさんで行われたGoリリース10周年パーティに参加したので、遅くなったが参加メモ。
Goは今年でOSS10周年!
先日のgolang.tokyoではswitch
文に関するDevquizが出題された。
私はわかっていたつもりで乾杯の挨拶中に解説を話したが、間違えた解説だったので改めて仕様を確認した。
GitHub Actionsで待望のキャッシュ機能が使えるようになった。
Windowsコンテナでジョブを実行していると少しハマる感じだったが、自分のGoのリポジトリのGitHub Actionsでキャッシュを使えるようになった。
昨年Go1.10時点でのGoのテストについてまとめた。
まとめ記事を書いた後にリリースされたGo1.11からGo1.13に含まれるテスト関連の変更をまとめる。
Goでクリーンアーキテクチャ等のレイヤードアーキテクチャを実装するための静的解析ツールを作った。
「webhandler
パッケージからusecase
パッケージを使わずに直接domain
パッケージを使わないで!」というような、やってほしくないimport
をエラーにできる。
fmt
パッケージにはfmt.Printf
の出力を任意に変更できるインターフェースが定義されている。
各インターフェースを満たす独自型をフィールドに持つ構造体の出力がどうなるのか確認し、任意の型の出力を制御できるか確認してみた。
先日の登壇資料にブコメでコメントいただいていたので私の考えを述べたいと思う。
結論から書くと、やはり「単純さや簡潔性を保つため」が動機になるのだと思う。
なお、このブログでは敬体は使わない方針なので、常体なのはご容赦願いたい。
そういや “imported and not used” “declared and not used” でコンパイル通らなくなるのはどういう哲学なんだろうこれ。
前職主催の勉強会でGoがどんな言語が発表した。
同僚がPythonで作ったOSSをGoに移植してみた。
$ dkl -h
Usage of dkl:
-d -docker
list docker containers and exec selected container.
-k -kubernetes
list pods and exec selected pod.
-v -version
print version information and quit.
go mod tidy
が次のようなのエラーで失敗するとき、エラーを解決するメモ。
$ go mod tidy
github.com/budougumi0617/til/go/tui/promptui imports
github.com/manifoldco/promptui imports
github.com/alecthomas/gometalinter imports
gopkg.in/alecthomas/kingpin.v3-unstable imports
github.com/nicksnyder/go-i18n/i18n: module github.com/nicksnyder/go-i18n@latest (v2.0.2+incompatible) found, but does not contain package github.com/nicksnyder/go-i18n/i18n