ホームページ >バックエンド開発 >Golang >Goで整数に「time.Duration」を掛けるにはどうすればよいですか?

Goで整数に「time.Duration」を掛けるにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-02 22:05:17257ブラウズ

How to Multiply an Integer by `time.Duration` in Go?

問題: Go での期間の整数による乗算

ランダムな遅延を導入して同時ゴルーチンをテストしようとすると、コンパイラは次のエラーをスローします:

.\crawler.go:49: invalid operation: rand.Int31n(1000) * time.Millisecond (mismatched types int32 and time.Duration)

解決策: 間の変換型

このエラーは、int32 (rand.Int31n(1000) の戻り値の型) が time.Duration (time.Sleep() に必要な型) と互換性がないために発生します。この問題を解決するには、整数値を乗算する前に期間に変換する必要があります。これは、次のコードを使用して実現できます:

time.Sleep(time.Duration(rand.Int31n(1000)) * time.Millisecond)

以上がGoで整数に「time.Duration」を掛けるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。