Maison > développement back-end > Golang > Comment puis-je obtenir la fonctionnalité de « getchar() » de C dans Go, y compris la gestion des touches de tabulation ?

Comment puis-je obtenir la fonctionnalité de « getchar() » de C dans Go, y compris la gestion des touches de tabulation ?

Patricia Arquette
Libérer: 2025-01-03 07:49:40
original
330 Les gens l'ont consulté

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

Trouver un équivalent Go pour getchar() de C

En programmation C, getchar() est une fonction couramment utilisée pour lire un seul caractère à partir de l’entrée standard sans mise en mémoire tampon. Go propose-t-il une fonction présentant des fonctionnalités similaires, en particulier une fonction capable de gérer les frappes de tabulation dans un environnement de console ? Cette capacité s'avérerait déterminante dans le développement de fonctionnalités de saisie semi-automatique pour une application console.

L'alternative Go : une ventilation détaillée

Go ne fournit pas d'équivalent direct au getchar( ). Cependant, nous pouvons obtenir des fonctionnalités similaires en utilisant le code suivant :

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]))
}
Copier après la connexion

Explication :

Ce code Go utilise les étapes suivantes :

  1. Créez un bufio.Reader pour lire l'entrée de l'entrée standard, faisant écho à la fonctionnalité de getchar() dans C.
  2. Utilisez la méthode ReadString() pour lire une ligne d'entrée de l'utilisateur.
  3. Convertissez le premier octet de la chaîne d'entrée en caractère à l'aide de la conversion et de la conversion de type.
  4. Imprimez le caractère sur la console, ressemblant au format de sortie de getchar() dans C.

Remarque :

Il est important de se rappeler que getchar() en C oblige l'utilisateur à appuyer sur la touche Entrée après avoir saisi un caractère. Le code Go présenté ici n'a pas cette limitation. Si vous avez besoin de ce comportement, envisagez d'explorer des approches alternatives telles que les malédictions ou la lecture en ligne, comme suggéré dans la documentation fournie.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal