2013-07-17 38 views
15

Khi tôi từng thực hiện chương trình Go Console, nó chỉ thực hiện trong một giây, tôi đã tìm kiếm trên Google, trang web Go và Stackoverflow.Cách thêm tạm dừng vào chương trình Go?

import (
    "fmt" 
) 

func main() { 
    fmt.Println() 
} 

Nó đóng ngay khi tôi thực thi.

EDIT 2 thực sự tôi muốn chương trình để ở lại vĩnh viễn dừng lại cho đến khi người dùng nhấn một nút

Trả lời

36

Bạn có thể tạm dừng chương trình trong một thời gian dài tùy ý bằng cách sử dụng time.Sleep(). Ví dụ:

package main 
import ("fmt" 
     "time" 
     ) 

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

Để tăng thời gian tùy ý bạn có thể làm:

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

EDIT: Kể từ khi OP thêm khó khăn thêm cho câu hỏi câu trả lời ở trên không còn phù hợp với các hóa đơn. Bạn có thể tạm dừng cho đến khi phím Nhập được nhấn bằng cách tạo trình đọc bộ đệm mới chờ đọc ký tự dòng mới (\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') 
} 
+0

Nhưng điều này chỉ kéo dài trong một vài giây, tôi muốn chương trình để thoát ra khi một phím được nhấn – Vaderman2782

+1

@Vade rman2782 Bạn không đề cập đến điều đó trong câu hỏi. Làm thế nào Mike nên biết? – Mostafa

+0

Xin lỗi. hãy để tôi chỉnh sửa ... – Vaderman2782

2

Cách dễ dàng nhất một cách khác với hàng nhập khẩu tối thiểu sử dụng này 2 dòng:

var input string 
fmt.Scanln(&input) 

Thêm dòng này vào cuối của chương trình, sẽ tạm dừng màn hình cho đến khi người dùng nhấn phím Enter, ví dụ:

package main 

import "fmt" 

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

import "fmt" 

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

@BalagurunathanMarimuthu nhận xét duy nhất trong mã là tất cả những lời giải thích cần thiết. Điều tôi thấy có vấn đề hơn là đây chỉ là một phiên bản rút gọn của câu trả lời hiện tại của Vas mà không đưa ra phân bổ. – Gimby

+0

Sory. Tôi không thể trả lời, vì danh tiếng là <50 và tôi không biết tiếng Anh) Bình luận ... Ok, nhưng có nhiều bình luận trong các ví dụ còn lại không, nơi chúng chắc chắn là cần thiết? Tôi đang sử dụng dịch thuật. – mukexa

Các vấn đề liên quan