>백엔드 개발 >Golang >Tab 키 처리를 포함하여 Go에서 C의 `getchar()` 기능을 어떻게 얻을 수 있습니까?

Tab 키 처리를 포함하여 Go에서 C의 `getchar()` 기능을 어떻게 얻을 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-03 07:49:40330검색

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. 표준 입력에서 입력을 읽는 bufio.Reader를 생성하여 getchar()의 기능을 효과적으로 반영합니다. C.
  2. ReadString() 메서드를 활용하여 사용자로부터 입력 한 줄을 읽습니다.
  3. 캐스팅 및 유형 변환을 사용하여 입력 문자열의 첫 번째 바이트를 문자로 변환합니다.
  4. getchar()의 출력 형식과 유사하게 문자를 콘솔에 인쇄합니다. C.

참고:

C의 getchar()에서는 사용자가 문자를 입력한 후 Enter 키를 눌러야 한다는 점을 기억하는 것이 중요합니다. 여기에 제시된 Go 코드에는 이러한 제한이 없습니다. 이 동작이 필요한 경우 제공된 문서에 제안된 대로curse 또는 readline과 같은 대체 접근 방식을 고려해 보십시오.

위 내용은 Tab 키 처리를 포함하여 Go에서 C의 `getchar()` 기능을 어떻게 얻을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.