una thread que pause pausar pausa node mensaje hacer hace ejecucion con como comando cambiar alternativas 1e7 go

go - thread - system pause en c linux



¿Cómo agregar pausa a un programa Go? (3)

Cuando ejecuto un programa de la Consola Go, solo se ejecuta en un segundo, he estado buscando en Google, el sitio web de Go y Stackoverflow.

import ( "fmt" ) func main() { fmt.Println() }

Se cierra inmediatamente cuando lo ejecuto.

EDIT 2 en realidad quería que el programa permaneciera pausado permanentemente hasta que el usuario presione un botón


La otra manera más fácil con importaciones mínimas usa estas 2 líneas:

var input string fmt.Scanln(&input)

Al agregar esta línea al final del programa, se pausará la pantalla hasta que el usuario presione la tecla Intro, por ejemplo:

package main import "fmt" func main() { fmt.Println("Press the Enter Key to terminate the console screen!") var input string fmt.Scanln(&input) }


Puede pausar el programa por un tiempo arbitrariamente largo usando time.Sleep() . Por ejemplo:

package main import ( "fmt" "time" ) func main() { fmt.Println("Hello world!") duration := time.Second time.Sleep(duration) }

Para aumentar la duración arbitrariamente puedes hacer:

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

EDITAR: Dado que el OP agregó restricciones adicionales a la pregunta, la respuesta anterior ya no se ajusta a la factura. Puede hacer una pausa hasta que se presione la tecla Intro creando un nuevo lector de búfer que espera para leer el carácter de nueva línea ( /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'') }


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