しかし、パッケージとしては以下のような依存が発生してしまっています。internalは抜きます。 errors go io os path reflect sort strconv sync syscall unicode time type Goはリンク時に不要な関数は削除してバイナリをなるべく小さくしようとするのですが、Goの言語仕様&エスケープ解析の欠点としてはinit()で参照(パッケージグローバル変数の宣言もコンパイル時に生成されるinit()にまとめられるので、グローバル変数宣言も)されたものはすべて、eliminationが働かずにリンクされちゃうんですよね。 %vでどんな型がきてもパースしてやるぜ、という機能があるのでおそらくそこでリフレクションをimportしていて、そのimportの中にinit()があれば、そこで使っている要素がシンボルとして残り・・・みたいな連鎖でし
![fmtパッケージをインポートするとファイルサイズがどかんと増えてしまう理由 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/41af3c930f208cd3501f31927c3d89351ea303e9/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9Zm10JUUzJTgzJTkxJUUzJTgzJTgzJUUzJTgyJUIxJUUzJTgzJUJDJUUzJTgyJUI4JUUzJTgyJTkyJUUzJTgyJUE0JUUzJTgzJUIzJUUzJTgzJTlEJUUzJTgzJUJDJUUzJTgzJTg4JUUzJTgxJTk5JUUzJTgyJThCJUUzJTgxJUE4JUUzJTgzJTk1JUUzJTgyJUExJUUzJTgyJUE0JUUzJTgzJUFCJUUzJTgyJUI1JUUzJTgyJUE0JUUzJTgyJUJBJUUzJTgxJThDJUUzJTgxJUE5JUUzJTgxJThCJUUzJTgyJTkzJUUzJTgxJUE4JUU1JUEyJTk3JUUzJTgxJTg4JUUzJTgxJUE2JUUzJTgxJTk3JUUzJTgxJUJFJUUzJTgxJTg2JUU3JTkwJTg2JUU3JTk0JUIxJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz05NDU2NjUyOGZmZWMwMWU3OTQ1ODc2MTkyMjU2YTg0Yg%26mark-x%3D142%26mark-y%3D100%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBzaGlidWthd2EmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTJlMmM1OTAxOWU0ODA5MWE4Y2I2YzAxM2I5MTEzZjQy%26blend-x%3D142%26blend-y%3D504%26blend-mode%3Dnormal%26s%3Da1c21bd93b80dce58de6a3d827622cd5)