golang で IP アドレスを操作するにあたって、
- あるアドレスから相対的に前後のアドレスを得る
- ブロードキャストアドレスを得る
というのがやりたくなってライブラリ書いた。
github.com
API は以下。
godoc.org
net.IP と net.IPNet を匿名フィールドにしたので使い勝手は標準ライブラリの拡張のように出来たと思う。
書くにあたって初めて知ったのは net.IP が []byte のエイリアス型だったこと。なるほどこういう書き方があるのかと関心してしまった。
標準ライブラリからは学ぶことが多い。