Maison > développement back-end > Golang > Comment implémenter une fonction Go équivalente à « getchar() » de C ?

Comment implémenter une fonction Go équivalente à « getchar() » de C ?

Susan Sarandon
Libérer: 2024-12-18 17:34:11
original
831 Les gens l'ont consulté

How to Implement a Go Function Equivalent to C's `getchar()`?

Fonction Go équivalente au getchar de C

getchar(), une fonction en C, permet aux utilisateurs de lire un seul caractère depuis la console. Cette fonctionnalité est souhaitable pour les applications telles que les complétions de console. Dans Go, une fonction similaire peut être implémentée à l'aide du package bufio.

Implémentation de Go getchar()

package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    reader := bufio.NewReader(os.Stdin)
    input, _ := reader.ReadString('\n')
    fmt.Printf("Input Character: %v", string([]byte(input)[0]))
}
Copier après la connexion

Limitations de getchar()

Cependant, dans le cas d'une tabulation complète, getchar() n'est peut-être pas une solution idéale. Contrairement à getchar(), qui nécessite d'appuyer sur Entrée pour capturer l'entrée, les fonctions telles que getch(), readline ou jLine de ncurses sont conçues pour capturer une seule frappe sans avoir besoin d'Entrée.

Alternatives à getchar() pour la complétion des onglets

Pour la complétion des onglets, envisagez ces alternatives solutions :

  • Utilisez les liaisons ncurses/readline : Par exemple, des bibliothèques comme https://code.google.com/p/goncurses/ fournissent des liaisons ncurses.
  • Implémentez votre propre solution : Utilisez des ressources telles que https://play.golang.org/p/plwBIIYiqG comme point de départ.
  • Appelez des commandes externes : Exécutez des commandes comme stty ou jLine en utilisant os.Exec.

Références :

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

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