MENU

【3分で理解する】golangのスリープ/Sleep関数とは 使い方、注意点について解説

本ページではアフィリエイトリンク(PR)が含まれています

今回はgolangにおけるSleep関数について解説していきます。

目次

Sleep関数とは

golangには処理を一定時間止めることができるSleep関数というものが用意されています。

for文などを使っても処理待ちをすることはできますが、CPUを占有してしまうため、処理待ちにはSleep関数を使うのが一般的です。

Sleep関数の使い方

Sleep関数を使うのは非常に簡単です。

timeパッケージのSleep関数を呼び出しどのくらいスリープさせるかを引数に渡します。ちなみにtime.Sleep()の引数はDuration型(int64)で定義されています。

time.Sleep(秒数 * time.Second) 

実際のコードで見てみましょう

func main() {
	fmt.Println("1")
	time.Sleep(3 * time.Second)
	fmt.Println("2")
}

このように書くことで文字列1が出力されてから3秒後に文字列2が出力されます。

timeの種類

サンプルコードではtime.Secondを用いて秒数指定でスリープしていましたが、他にもナノ秒、ミリ秒や分などでもスリープさせることができます。

time.goのconstを参照

const (
	Nanosecond  Duration = 1
	Microsecond          = 1000 * Nanosecond
	Millisecond          = 1000 * Microsecond
	Second               = 1000 * Millisecond
	Minute               = 60 * Second
	Hour                 = 60 * Minute
)

Sleep関数は処理順に厳しいシステムやgoroutineを用いた並行処理では頻度高く使われるのでしっかり抑えておきましょう。

golangをもっと詳しくなりたい方に

golang学習のために筆者が実際に受講したUdemy教材をまとめています。

あわせて読みたい
【入門】golangの学習におすすめのUdemy教材5選 これから業務でgolangを使うことになった方、これからgolangを使ってキャリアを歩んでいきたいという方でどのように学習していこうか悩んでいる方もいるかと思います。 ...

golang学習のために筆者が実際に読んでおすすめしたい本をまとめています。

あわせて読みたい
【入門】golangの学習におすすめの本/書籍7選 これから業務でgolangを使うことになった方、これからgolangを使ってキャリアを歩んでいきたいという方でどのように学習していこうか悩んでいる方もいるかと思います。 ...
タメになったらシェアお願いします!
  • URLをコピーしました!
  • URLをコピーしました!
目次