2
0

More than 3 years have passed since last update.

カフェでプログラミングしてる風(でも何もやってない)Goコード版

Posted at

カフェでプログラミングしてる風(でも何もやってない)Java(クソ)コード からインスパイアされたGo版です。

詳細は ソースコード です。

なんで作った?

習作(Goを書くのが久々)のため、なんか面白そうなのないかなって思って書きました。

カフェでッターンはかっこいい

かっこいい

 ソースコードはこうなってる

(もっといい書き方があるはず)

fakeStatusChange.go
package main

import (
    "fmt"
    "math/rand"
    "time"
)

func main() {
    fakeStatusChange()
}

func fakeStatusChange() {
    sentence := 50
    countup := 0
    var delay time.Duration
    lineout := 0
    rand.Seed(time.Now().UnixNano())
    for {
        if sentence != countup {
            fmt.Printf("#")
        } else {
            //  50文字になったら「done + 改行を出力する。
            //  何かが終わった感じを出力する。
            fmt.Printf(" done!!\n")
            //  countupをリセット
            countup = -1
            //  無限ループを脱出するためにカウントアップしておく。
            lineout++
        }
        //  カウントしていく
        countup++
        //  高速に出力するとそれっぽくないので、waitをかけて遅延をする。
        //  ランダム値にマッチすると待ち時間を更に遅くさせる。
        //  delayを作る。
        delay = time.Duration(100) * time.Millisecond
        if 5 < countup && countup <= 10*lineout {
            time.Sleep(delay)
        }
        //  10行書かれたらbreakして無限ループを終わらせる。
        if lineout == 10 {
            time.Sleep(1000)
            break
        }
    }
}

まだDungStatusChange.javaしかコピーできてない。

マジで、もう一個の報も書かなきゃね。
引数でStatusChangeとCompile分けれたら一個のバイナリで済むから実装しようかな。

動作風景とかは録画できてません(VM上撮影とかちょっとよくわかんない)

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0