💻
上中下旬を検算する
最近の Zenn は GitHub リポジトリ上のコードを埋め込めるらしいので,練習がてら最近書いた Go コードを紹介してみる。
上中下旬を表現したい
「1月上旬」とか「9月下旬」とかあるじゃないですか。アレを制御したいわけですよ。というわけで,まずはこんな型を考えてみる。
んー。こんな感じかな。
次に,この Period 型を扱える日付型を定義する。
これで上中下旬を含む日付情報を整数で表すことができた。日付への展開は
とすればいいだろう。これで
という感じに記述できる。
Duration 型を使った加算と減算も書いておこう。
これを使った計算は
という感じに書けた。
Go で検算する
ホンマのことを言うと,これに似た機能を持つ Java クラスを先に作ろうとしてたんよ。で,テストを書くための検算をどうしようと考えて Go で書いたのがこれだったり(実際はもっと雑に書いている)。
昔はスクリプト言語とかで検算用のコードを書いてたりしてたんだけど,最近は何となく Go で書いてたりする。こういうコードって使い終わったら捨てちゃうんだけど,今回はリサイクルすることもあるかもしれん,と公開してみることにした。まぁ,パッケージにするまでもないので,サンプルコードということで。
それでは,楽しくコードを書きましょう。
Discussion