2020年7月21日火曜日

開発環境

Go Systems Programming: Master Linux and Unix system level programming with Go (渋川 よしき(著)、ごっちん(イラスト)、ラムダノート)、第4章(低レベルアクセスへの入り口3:チャンネル)、4.5(問題)、Q4.1(タイマー)の解答を求めてみる。

コード

package main

import (
 "fmt"
 "os"
 "time"
)

func main() {
 go func() {
  wait := time.After(3 * time.Minute)
  <-wait
  fmt.Println("カップラーメン出来上がり!🍜")
  os.Exit(0)
 }()
 for i := 10; ; i += 10 {
  time.Sleep(10 * time.Second)
  fmt.Printf("%v秒経過…\n", i)
 }
}

入出力結果(Zsh、PowerShell、Terminal)

% go build
% ./timer 
10秒経過…
20秒経過…
30秒経過…
40秒経過…
50秒経過…
60秒経過…
70秒経過…
80秒経過…
90秒経過…
100秒経過…
110秒経過…
120秒経過…
130秒経過…
140秒経過…
150秒経過…
160秒経過…
170秒経過…
カップラーメン出来上がり!🍜
%

0 コメント:

コメントを投稿