⏱️

Go言語でタイマーを作ってみた!

2023/07/15に公開

Golangでタイマーを作ってみる

Golangをキャッチアップするのに、いい方法はないかと考えていたときに思いついた方法は、Swiftの学習をしていたときに、やっていたビジネスロジックの学習でした。

⏲️を作ってみる

for文の学習をする課題として、タイマーを作ってみることにしました。10秒経つと、for文のbreak文で、ループから抜ける処理を実行します。

サンプルコード

hello.go
package main

import (
	"fmt"
	"time"
)

func main() {
	ticker := time.NewTicker(time.Second) // 1秒ごとにカウントするタイマーを作成

	for count := 1; ; count++ {
		<-ticker.C // タイマーのチャネルからの受信を待機

		fmt.Println("Count:", count)

		// ここにループを抜ける条件を記述する場合、break文を使用します
		if count >= 10 {
		    break
		}
	}
}

go run hello.goと入力して、コンパイルを実行
実行結果

Count: 1
Count: 2
Count: 3
Count: 4
Count: 5
Count: 6
Count: 7
Count: 8
Count: 9
Count: 10

まとめ

Goで、for文を使ってループさせる仕組みを解説すると...

// i:=0;は、変数を初期化する。 i < 5;は、繰り返し条件を書く。この例だと5未満まで、ループさせる。 i++は、1ループ毎に、実行する。この処理を書くときは、;で区切る。
for i:= 0; i < 5; i++ {
  // 繰り返す処理
}

単純なコード

package main

import "fmt"

func main() {
	for i := 0; i < 5; i++ {
		fmt.Println(i)
	}
}

実行結果
5未満なので、0~4まで数値が増えて、カウントされていきます。

0
1
2
3
4

🧷import文の中のtimeについて

今回は、Go言語がもともと持っているtimeというパッケージを使用しました。これは時間を扱うときに使用します。
https://pkg.go.dev/time

Jboy王国メディア

Discussion