2019-11 << 2019-12 >> 2020-01

2019-12-27 (金)

Golangで色々書く日.

Golang,使ってない関数はコンパイル後に消されるのだけど,初期化が必要なパッケージを(間接的にでも)importしてしまうとinit関数からの参照ができてしまって初期化処理が削除されないのか...

パッケージをimportするとinitが呼ばれることになってるので当然の挙動なのだけど,例えばあるパッケージが net/http に依存していて,そのパッケージ内の明らかにhttpと関係無い関数を呼んだ場合に,4MBくらい実行ファイルが大きくなる上に起動時にhttpの初期化処理が呼ばれてたりしてびっくりする.

travis-ci.org 使ってたけどtravis-ci.com の方も触ってみたり.

2019-11 << 2019-12 >> 2020-01