第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

我如何在不輸入的情況下寫入 Golang 中 Stdin 的輸入字段?

我如何在不輸入的情況下寫入 Golang 中 Stdin 的輸入字段?

Go
ITMISS 2022-06-06 15:50:52
所以我是新手,所以請原諒我的無知。我正在嘗試編寫一個最小的外殼。為此,我想實現(xiàn)類似于 bash 或 zsh 的命令歷史記錄,其中向上箭頭可以將最近的命令顯示出來并將其放在您的輸入字段中,而無需實際輸入它。目前我正在閱讀如下輸入:for {        // prompter        promptColor.Printf(shellPrompt)        // read string from STDIN until newline        input, _ := reader.ReadString('\n')        // convert CRLF to LF        input = strings.Replace(input, "\n", "", -1)        // read input tokens        tokens := SplitString(input)        // parse tokens and execute relevant command        Parse(tokens)    }使用 bufio.Reader 讀入。我看了看,但找不到寫入該輸入的方法。
查看完整描述

2 回答

?
叮當貓咪

TA貢獻1776條經(jīng)驗 獲得超12個贊

大多數(shù)想要實現(xiàn)此行為的軟件包都將使用 GNU Readline 庫。甚至 Bash shell 也在使用這個 readline 庫的(修改后的副本)??紤]以下兩個選項之一:

第一條路徑將為您提供防戰(zhàn)的 ReadLine 庫,但需要構(gòu)建“C”代碼。您可以根據(jù)自己的經(jīng)驗/限制來決定走哪條路。


查看完整回答
反對 回復(fù) 2022-06-06
?
呼喚遠方

TA貢獻1856條經(jīng)驗 獲得超11個贊

shell 中沒有“輸入字段”;根本沒有字段。只有一個輸入流、一個輸出流和一個錯誤流。你也不想寫給你自己stdin的,當然不是為了解決這個問題。shell 通常這樣做的方式(無論語言如何)是:

  • 用戶按下向上箭頭,應(yīng)用程序進入歷史模式

  • Shell 刪除提示符處的任何內(nèi)容并將其替換為歷史記錄中的上一個命令,跟蹤當前歷史記錄索引

  • 如果用戶在歷史模式下按回車,它會獲取當前歷史索引,并從那里讀取命令而不是從標準輸入


查看完整回答
反對 回復(fù) 2022-06-06
  • 2 回答
  • 0 關(guān)注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號