>백엔드 개발 >Golang >탭 누르기 감지를 포함하여 C의 `getchar()` 기능을 Go에서 어떻게 복제할 수 있습니까?

탭 누르기 감지를 포함하여 C의 `getchar()` 기능을 Go에서 어떻게 복제할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-19 08:56:08702검색

How Can I Replicate C's `getchar()` Functionality in Go, Including Tab Press Detection?

C의 Getchar와 유사한 Go 함수

C 프로그래밍에서 getchar()는 콘솔에서 단일 문자를 읽는 데 일반적으로 사용되는 함수입니다. 그러나 Go로 작업할 때 탭 누르기 감지를 비롯한 다양한 사용 사례를 처리하려면 유사한 기능이 필요합니다.

Go getchar()와 동일

Go에서 getchar( ) C에서는 다음 코드를 사용할 수 있습니다.

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.NewReader를 사용하여 콘솔에서 단일 문자를 읽고 이를 가변 입력. 입력 바이트 배열의 첫 번째 요소는 누른 문자를 나타냅니다.

탭 누르기 처리

특히 탭 누르기를 감지하는 경우 getchar()는 Enter 키를 눌러야 하기 때문에 적합하지 않습니다. 대신, 라이브러리를 사용하거나 단일 키 입력을 캡처하기 위해 다음과 같은 자체 기능을 구현하는 것을 고려하세요.

  • ncurses 또는 readline 바인딩 사용
  • 사용자 정의 함수 만들기(http에서 시작점 참조) //play.golang.org/p/plwBIIYiqG)
  • stty 또는 jLine과 같은 명령 실행 os.Exec

추가 참고 사항

이러한 솔루션은 탭 누르기 처리에 대한 구현 및 지원이 다를 수 있다는 점을 기억하는 것이 중요합니다. 자세한 내용은 참고 자료에 제공된 리소스를 참조하세요. 정보:

  • https://groups.google.com/forum/?fromgroups=#!topic/golang-nuts/zhBE5MH4n-Q
  • https://groups.google .com/foru m/?fromgroups=#!topic/golang-nuts/S9AO_kHktiY
  • https://groups.google.com/forum/?fromgroups=#!topic/golang-nuts/icMfYF8wJCk

위 내용은 탭 누르기 감지를 포함하여 C의 `getchar()` 기능을 Go에서 어떻게 복제할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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