为了账号安全,请及时绑定邮箱和手机立即绑定

如何为 Go 程序添加暂停?

如何为 Go 程序添加暂停?

Go
红颜莎娜 2021-06-15 17:01:36
当我执行 Go 控制台程序时,它只在一秒钟内执行,我一直在寻找 Google、Go 网站和 Stackoverflow。import (    "fmt")func main() {    fmt.Println()}当我执行它时它立即关闭。编辑 2 实际上我希望程序永久暂停,直到用户按下按钮
查看完整描述

3 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

您可以使用 暂停程序任意长的时间time.Sleep()。例如:


package main

import ( "fmt"

         "time"

       )   


func main() {

  fmt.Println("Hello world!")

  duration := time.Second

  time.Sleep(duration)

}

要任意增加持续时间,您可以执行以下操作:


duration := time.Duration(10)*time.Second // Pause for 10 seconds

编辑:由于 OP 为问题添加了额外的约束,因此上面的答案不再符合要求。您可以Enter通过创建一个等待读取换行符 ( \n) 字符的新缓冲区读取器来暂停,直到按下该键。


package main

import ( "fmt"

         "bufio"

         "os"

       )


func main() {

  fmt.Println("Hello world!")

  fmt.Print("Press 'Enter' to continue...")

  bufio.NewReader(os.Stdin).ReadBytes('\n') 

}


查看完整回答
反对 回复 2021-06-21
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

package main


import "fmt"


func main() {

    fmt.Println("Press the Enter Key to terminate the console screen!")

    fmt.Scanln() // wait for Enter Key

}


查看完整回答
反对 回复 2021-06-21
?
SMILET

TA贡献1796条经验 获得超4个赞

最少导入的最简单的另一种方法使用这 2 行:


var input string

fmt.Scanln(&input)

在程序末尾添加这一行,将暂停屏幕直到用户按下 Enter 键,例如:


package main


import "fmt"


func main() {

    fmt.Println("Press the Enter Key to terminate the console screen!")

    var input string

    fmt.Scanln(&input)

}


查看完整回答
反对 回复 2021-06-21
  • 3 回答
  • 0 关注
  • 392 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信