今回は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を使ってキャリアを歩んでいきたいという方でどのように学習していこうか悩んでいる方もいるかと思います。 ...