首頁 >後端開發 >Golang >如何在 Go 中實作 C 的 `getchar()` 功能,包括 Tab 鍵處理?

如何在 Go 中實作 C 的 `getchar()` 功能,包括 Tab 鍵處理?

Patricia Arquette
Patricia Arquette原創
2025-01-03 07:49:40333瀏覽

How Can I Achieve the Functionality of C's `getchar()` in Go, Including Tab Key Handling?

尋找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 程式碼採用以下步驟:

  1. 此Go 程式碼採用以下步驟:
  2. 此Go 程式碼採用以下步驟:
  3. 此Go 程式碼採用以下步驟:

建立一個bufio.Reader 從標準輸入讀取輸入,有效呼應getchar()的功能C.利用 ReadString() 方法讀取使用者輸入的一行。

使用強制轉換和類型轉換將輸入字串的第一個位元組轉換為字元。

將字元印到控制台,類似中getchar() 的輸出格式C.注意:請務必記住,C 中的getchar() 要求使用者在輸入字元後按Enter 鍵。此處介紹的 Go 程式碼沒有此限制。如果您需要這種行為,請考慮探索替代方法,例如curses或readline,如所提供的文件中所建議的。

以上是如何在 Go 中實作 C 的 `getchar()` 功能,包括 Tab 鍵處理?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn