尋找C 語言getchar() 的Go 等效項
在C 程式設計中,getchar() 是讀取單一字元的常用函數來自標準輸入,無需緩衝。 Go 是否提供了具有類似功能的函數,特別是可以在控制台環境中處理選項卡擊鍵的函數?事實證明,此功能對於為控制台應用程式開發自動完成功能非常有用。
Go 替代方案:詳細分解
Go 不提供與 C 的 getchar( 直接等效的方法) )。但是,我們可以使用以下程式碼實現類似的功能:
package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) input, _ := reader.ReadString('\n') fmt.Printf("Input Char Is : %v", string([]byte(input)[0])) }
說明:
此Go 程式碼採用以下步驟:
建立一個bufio.Reader 從標準輸入讀取輸入,有效呼應getchar()的功能C.利用 ReadString() 方法讀取使用者輸入的一行。
使用強制轉換和類型轉換將輸入字串的第一個位元組轉換為字元。
將字元印到控制台,類似中getchar() 的輸出格式C.注意:請務必記住,C 中的getchar() 要求使用者在輸入字元後按Enter 鍵。此處介紹的 Go 程式碼沒有此限制。如果您需要這種行為,請考慮探索替代方法,例如curses或readline,如所提供的文件中所建議的。以上是如何在 Go 中實作 C 的 `getchar()` 功能,包括 Tab 鍵處理?的詳細內容。更多資訊請關注PHP中文網其他相關文章!