這幾天開始學習go,用vscode做開發工具,在重復書上的例子時,發現很多都是要求接收命令列輸入的(os.Stdin)。
雖然可以用go build編譯成exe,然后在vscode的終端上面跑,但是這樣就沒法單步除錯了;
想問問大家都是怎么解決這種問題的,還是說都不用vscode ?
uj5u.com熱心網友回復:
os模塊就行import "os"
args := os.Args[1:]
uj5u.com熱心網友回復:
應該是我沒說清楚,預先輸入的引數(launch.json)確實可以通過os.Args來獲取,但是我遇到的問題是除錯的時候要怎么動態接收輸入;比如說用go寫了一個加法函式,從os.Stdin接收兩個引數進行相加,但是除錯的時候vscode不會彈出命令列界面,我要在哪里輸入呢?有沒有辦法像vs2010除錯控制臺程式一樣,在除錯的時候彈一個cmd,讓我可以輸入?
uj5u.com熱心網友回復:
r := bufio.NewReader(os.Stdin)for {
rawLine, _, _ := r.ReadLine()
line := string(rawLine)
fmt.Println(line)
}
能理解么,這是個回圈輸入,build之后可以彈出執行框的那種
uj5u.com熱心網友回復:
感謝回復,通過build來生成exe,然后執行exe確實可以解決輸入問題,但是這就沒法除錯了,這正是我所遇到的問題;有沒有能夠像vs2010一樣能夠在除錯時進行輸入的辦法,例如:
1)程式通過vscode除錯啟動,自動彈出cmd界面接收輸入;
2)程式檢測到輸入,觸發斷點,可以接著單步除錯資料處理邏輯;
uj5u.com熱心網友回復:
所以最終,你有找到解決沒辦法輸入的問題的方法嗎?我也遇到了和你一樣的困難uj5u.com熱心網友回復:
解決了嗎?大哥轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/184882.html
標籤:其他技術討論專區
上一篇:阿里秒掛,瘋狂復習半個月,拿下美團offer(后臺開發JAVA崗)
下一篇:壓力變送器如何在冬季防凍
