Как добавить паузу в программу Go? - программирование
Подтвердить что ты не робот

Как добавить паузу в программу Go?

Когда я когда-либо выполняю программу Go Console, она выполняется всего за одну секунду, я просматриваю Google, сайт Go и Stackoverflow.

import (
    "fmt"
)

func main() {
    fmt.Println()
}

Он немедленно закрывается, когда я его выполняю.

ИЗМЕНИТЬ 2 на самом деле я хотел, чтобы программа постоянно останавливалась до тех пор, пока пользователь не нажмет кнопку

4b9b3361

Ответ 1

Вы можете приостановить программу на какое-то время, используя 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

EDIT: поскольку 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') 
}

Ответ 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)
}

Ответ 3

package main

import "fmt"

func main() {
    fmt.Println("Press the Enter Key to terminate the console screen!")
    fmt.Scanln() // wait for Enter Key
}