LoginSignup
2

More than 3 years have passed since last update.

Goの勉強のため自分のグローバルIPを確認するコマンドを作った

Last updated at Posted at 2020-01-19
$ 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とかコーディング周りのツール類が標準で提供されていて、今は何が流行りなのかググったりして何日も潰したりしないのが良い。

非同期処理の待ちをゴルーチンとチャンネルの組み合わせで書いてみたけど、こんな使い方で良いのかよくわからない。 ゴルーチン使う必然性もなかったので普通にコールバック使うようにした。

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2