cgoでGoのコードからCの関数を利用する Goの練習がてらコマンドラインツールを書いている最中に詰まったので作業ログとして残す。 Goでコマンドラインのインターフェースを実装するには、osやflag等のデフォルトライブラリ群でそこそこ簡単に作れるけど、今回やりたいことに「Cで書かれたバイナリをGoから利用したい」というものがあった。 同じことをNode.jsでやろうとするなら、スクリプトを含めたパッケージ群としてnpmで配布することが可能なので、postinstallあたりで 都度ソースコードをダウンロードしコンパイル 、あるいは コンパイル済みバイナリをダウンロード くらいで良かった。以下Node.jsの例。 https://github.com/imagemin/pngcrush-bin https://github.com/imagemin/jpegoptim-bin Goの場合は
![cgoでGoのコードからCの関数を利用する - 1000ch.net](https://cdn-ak-scissors.b.st-hatena.com/image/square/7796488e982951469e3346c8ae7f5274f15fbaf1/height=288;version=1;width=512/https%3A%2F%2F1000ch.net%2F%2Fimg%2Fapple-touch-icon.png)