[golang] cliでロード中のスピナーを表示する

カテゴリ: 未分類 | タグ: , ,

golangのcliプログラムを作成時、時間がかかる処理を行なっているときに、処理中であることを示すアニメーションを出したい場合がある。

下記のコードでローディング中のくるくる回るスピナーのアニメーションを表示できる。

func main() {
    go spinner(100 * time.Millisecond)

    // 時間がかかる処理
    time.Sleep(5 * time.Second)
    fmt.Println("done")
}

func spinner(delay time.Duration) {
    for {
        for _, r := range `-\|/` {
            fmt.Printf("\r%c", r)
            time.Sleep(delay)
        }
    }
}

書籍プログラミング言語Go、第8章: ゴルーチンとチャネル(p.252)より


Amazonでおトクに買い物する方法
AmazonチャージでポイントGET


Amazonは買いもの前にAmazonギフト券をチャージしてポイントをゲットしないと損!

こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です