亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

golang 讀取超過一行的文本輸入并停止 ctrl+s

golang 讀取超過一行的文本輸入并停止 ctrl+s

Go
料青山看我應如是 2021-09-10 15:32:25
如何在 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)

}


查看完整回答
反對 回復 2021-09-10
  • 1 回答
  • 0 關注
  • 245 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號