Maison > développement back-end > Golang > le corps du texte

Comment puis-je envoyer des frappes à un canal sans nécessiter de nouvelle ligne ?

Mary-Kate Olsen
Libérer: 2024-10-30 09:39:27
original
286 Les gens l'ont consulté

How Can I Send Keystrokes to a Channel Without Requiring a Newline?

Envoi de frappes au canal sans exigence de nouvelle ligne

Cette question vise à explorer le défi de l'envoi direct des frappes de l'utilisateur à un canal au fur et à mesure de leur saisie dans stdin, sans avoir besoin d'un caractère de nouvelle ligne. Le code fourni tente cela mais se heurte à une limitation : la méthode reader.ReadByte() attend une nouvelle ligne avant de continuer.

La solution réside dans la compréhension que stdin est généralement mis en mémoire tampon de ligne par défaut. Cela empêche l'émission immédiate d'une entrée jusqu'à ce qu'une nouvelle ligne soit rencontrée, une caractéristique qui n'est pas unique à Go.

Pour obtenir le comportement souhaité, des solutions spécifiques à la plate-forme sont nécessaires. Une option consiste à utiliser la bibliothèque ncurses, qui permet de gérer les entrées sans tampon. Une autre alternative est le package léger go-termbox.

Cependant, si une approche entièrement manuelle est préférée, on peut se plonger dans les liaisons C pour termios ou utiliser directement les appels système Go sur les systèmes Linux. La façon dont Windows gère cela reste floue mais peut être explorée via le code source de ncurses ou termbox.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!