時計

時計

初級

説明

日付を持たない時刻を扱う時計を実装しましょう。

その時計では、分を足したり引いたりできるようにします。

同じ時刻を表す2つの時計は、互いに等しくなければなりません。

実装上の注意

時計が等しいことに関する指示の要件を満たすには、Clock型の値が==演算子で正しく動作する必要があります。 つまり、New関数が値ではなくポインターを返す場合、その時計はおそらく==で正しく動作しません。

標準ライブラリのtime.Time型を必ずしもClock型の土台として使う必要はありませんが、この型のコンストラクター(DateとNow)がポインターではなく値を返している様子を見ると、参考になるかもしれません。 また、time.Timeのほとんどのメソッドがポインターではなく値レシーバーを使っている点にも注目してください。

値レシーバーとポインターのどちらを使うべきかについての役立つガイドラインは、Go Wiki: Receiver Typeを参照してください。


出典

Erin Drummondとのペアプログラミングセッション
GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Go Exercism

時計を始める準備はできましたか?

Exercismに登録すれば、34個のコンセプト165個の演習、そして本物の人間によるメンタリングとともに、Goを学んでマスターできます。すべて無料です。