关于Golang的一些问题
构建一个无限循环,每五秒输出 i(初值为 1),i 的值随每次输出自增 1,要求
在任意过程中都能接受命令行输入,通过回车结束进程。
package main
import (
"bufio"
"fmt"
"os"
"runtime"
"sync"
"time"
)
var wg1 sync.WaitGroup
var FLAG int = 1
func prin() {
for i:=1; ;i++ {
fmt.Println(i)
time.Sleep(5 * 1000000000)
if FLAG==0 {
wg1.Done()
os.Exit(0)
}
}
}
func loop() {
for {
inputReader := bufio.NewReader(os.Stdin)
input, _ := inputReader.ReadString('\n')
if input != "\n"{
fmt.Print("The input type: ", input)
} else {
wg1.Done()
FLAG=0
}
}
}
func main() {
runtime.GOMAXPROCS(2)
wg1.Add(1)
go prin()
go loop()
wg1.Wait()
}
不知道为什么这个程序在Goland里面可以跑的通,但是在cmd上面就跑不了。
(难道cmd把回车吞了?
cmd:
Goland:
是什么问题我不清楚,但是如果有大佬知道,希望能告诉我一下!感谢!