$ whatsmyip --version
_ _ _ _ ___
__ __ | |__ __ _ | |_ ( ) ___ _ __ ___ _ _ (_) _ __ |__ \
\ \ /\ / / | '_ \ / _` | | __| |/ / __| | '_ ` _ \ | | | | | | | '_ \ / /
\ V V / | | | | | (_| | | |_ \__ \ | | | | | | | |_| | | | | |_) | |_|
\_/\_/ |_| |_| \__,_| \__| |___/ |_| |_| |_| \__, | |_| | .__/ (_)
|___/ |_|
whatsmyip version v0.1.0 (build with go1.10.4)
ときどき必要になるけど、控えておくのも面倒だし都度、「アクセス情報【使用中のIPアドレス確認】- cman.jp 」などのサイトを使って調べてたりしたけど、ちょうど良いので 先日書いたコードをベースにターミナルで直接実行可能なコマンドを作った。
インストール
go get github.com/snaka/whatsmyip
実行例
$ whatsmyip
113.43.xxx.xxx
作ってみた感想
Goはコンパイラが早いので軽量スクリプト言語に近い感覚で実装できるし、lintとかtestとかコーディング周りのツール類が標準で提供されていて、今は何が流行りなのかググったりして何日も潰したりしないのが良い。
非同期処理の待ちをゴルーチンとチャンネルの組み合わせで書いてみたけど、こんな使い方で良いのかよくわからない。 ゴルーチン使う必然性もなかったので普通にコールバック使うようにした。