C 的 getchar() 函數允許使用者從控制台輸入單一字元。然而,在 Go 中,沒有直接等效的方法來處理 Tab 鍵按下。在開發具有自動完成功能的控制台應用程式時,這可能具有挑戰性。
Go 中的一個可能的替代方案是使用 bufio.Reader。下面是一個範例:
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])) }
雖然 bufio.Reader 可以讀取單一字符,但它需要使用者按 Enter 鍵才能輸入該字元。對於偵測 Tab 鍵按下,這是不合適的。
對於此特定需求,C 的 getchar() 不合適,因為它等待使用者按 Enter 鍵。相反,替代選項包括:
參考文獻:
以上是如何在 Go 中實現 C 的 getchar() 功能用於單字元輸入(包括 Tab)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!