[golang]アプリ開発~デジタル時計を作ろう!~

こんにちは。KOUKIです。

とある企業でWeb開発業務に携わっています。

Udemyの「Go Bootcamp: Master Golang W/1k+Exercises and Projects」にて、Go言語のデジタル時計の作り方が紹介されていたので、この記事で紹介したいと思います。※このコース、めっちゃわかりやすいのでオススメです!

ワークスペース

ワークスペースを確保しましょう。

実装

早速実装をしていきましょう。

時計のプレイスホルダーの実装

まずは、時計のプレイスホルダーを実装します。

これが画面に表示される数字の元になります。

プレイスホルダーを表示する

先ほど設定したプレイスホルダーを表示してみましょう。

表示することができましたが、縦並びですね。横一列に表示させたいです。

表示できました!

type placeholder [5]string」は、もともと5つの要素をもつ配列でした。そのためdigits[0]とするとループが5回まわります。

その後、digitsに格納されている全ての要素をループし、一列ずつ表示していきます。

時間の取得処理

次は、時間の取得処理を実装します。

こんな感じで表示されます。

最初に時刻を取得し、clock変数の中に対応する数値の配列を格納します。これは、[8][5]の二次元sliceになっています。この辺りは少しわかりづらいですね。

アニメーションにする

現在時刻が表示できるようになったので、最後はアニメーション化しましょう。

時計の時刻を継続して表示させるために、for文で無限ループを作り、1秒毎に時刻を出力するように変更しました。

そしてscreenパッケージを使って、時計が出力される際に、前回出力した内容を削除する処理を入れています。

これで完了です!

おわりに

アイデア次第で、こんな実装も可能なのかと感心しました。自分でもこういう物を作れるような開発者になりたいですね^^

それでは、また!

Go記事まとめ

オススメ書籍

実装コード