ホームページ > バックエンド開発 > Golang > Go の「time.Duration」に整数を正しく乗算する方法は?

Go の「time.Duration」に整数を正しく乗算する方法は?

Mary-Kate Olsen
リリース: 2024-12-05 17:55:11
オリジナル
324 人が閲覧しました

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

Go での期間を整数で乗算する

Go で同時ゴルーチンを操作する場合、テストを容易にするために関数の実行にランダムな遅延を導入する必要がある場合があります。これを実現するには、次のコードの利用を試みることができます:

time.Sleep(rand.Int31n(1000) * time.Millisecond)
ログイン後にコピー
ただし、このコードをコンパイルすると、int32 と time.Duration の間の型の不一致を示すエラーが発生します。これは、2 つの型が別個であり、直接乗算できないためです。

この問題を解決し、期間を整数で正しく乗算するには、int32 を time.Duration 型に変換する必要があります。これは、次のコードを使用して実現できます。

time.Sleep(time.Duration(rand.Int31n(1000)) * time.Millisecond)
ログイン後にコピー
int32 を time.Duration にキャストすることで、スリープ期間の指定に使用できる有効な式を作成し、効果的にランダム遅延を導入します。関数の実行

以上がGo の「time.Duration」に整数を正しく乗算する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート