如何在 golang,控制臺輸入中讀取多于一行。reader := bufio.NewReader(os.Stdin)fmt.Println("Enter Text:")text, _ := reader.ReadString('\n')如果用戶點擊,我必須如何更改 ReadString(???) 以停止閱讀:ctrl+s 新行 ( \n) 必須保持輸入的組成部分。是否有一些圖書館/框架?感謝您的每一個幫助。
1 回答

千萬里不及你
TA貢獻1784條經驗 獲得超9個贊
這是 Linux 的答案(也適用于其他 *nix 平臺)
Ctrl+S是一個控制字符DC3,意思是“XOFF,停止發送”。如果你按下Ctrl+S終端會凍結。
Ctrl+Q是一個控制字符DC1,意思是“XON,繼續發送”,Ctrl+S解凍后需要。
要使用Ctrl+S,第一禁用XON/XOFF與stty -ixon(可能在啟動腳本)禁用之后XON/XOFF,將樣品代碼以下(DC3是HEX:13 / DEC:19 ASCII表);
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Println("Enter Text:")
text, _ := reader.ReadString('\x13')
fmt.Println(text)
}
- 1 回答
- 0 關注
- 245 瀏覽
添加回答
舉報
0/150
提交
取消