Go初心者による備忘録。
Goのtime.Duration型を用いることで経過時間を表すことができる。
そしてこの time.Duration
は int64
のため、数値型としての比較ができるようだ。
https://pkg.go.dev/time#Duration
つまり経過時間の比較をするケースで、どちらの変数の time.Duration
が大きい場合を比較するのは t1 > t2
的な形で比較ができる。
サンプルコードを下に記載する。
package main import ( "fmt" "time" ) func main() { t1 := time.Duration(1) * time.Second t2 := time.Duration(2) * time.Second t3 := time.Duration(2) * time.Second fmt.Println("t1:", t1) fmt.Println("t2:", t2) // t1(1秒)よりt2(2秒)のほうが数値としては大きいのでtrueになる fmt.Println(t1 < t2) // t2とt3は同じ2秒のためtrueとなる fmt.Println(t2 == t3) // 数値型として表示させると実際に保持されている数値が見える fmt.Printf("t1: %d\n", t1) fmt.Printf("t2: %d\n", t2) fmt.Printf("t3: %d\n", t3) }