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中文网其他相关文章!