Maison >développement back-end >Golang >Comment puis-je gérer efficacement les pressions sur les touches dans un Go REPL ?
Dans Go, la fonction ReadString lit une chaîne à partir de l'entrée standard, en attendant que la touche retour soit enfoncée. Cependant, lors de la création d'une application REPL (read-eval-print loop), il est nécessaire de répondre rapidement aux événements de pression de touche.
Au lieu de vous fier à ReadString, envisagez d'utiliser des moteurs de jeu qui offrent une gestion de saisie au clavier indépendante de la plate-forme. L'une de ces bibliothèques est la bibliothèque de clavier d'Azul3D.
La bibliothèque fournit un observateur de clavier qui surveille l'état de toutes les touches. En interrogeant l'observateur pour connaître la carte d'état, vous pouvez déterminer si une touche spécifique est enfoncée, maintenue enfoncée ou relâchée.
import ( "github.com/azul3d/keyboard" ) func main() { watcher := keyboard.NewWatcher() status := watcher.States() for { left := status[keyboard.ArrowLeft] if left == keyboard.Down { // The arrow left key is being held down. } } }
Ce code parcourt la carte d'état, détectant toutes les touches actuellement enfoncées. . Vous pouvez ensuite effectuer les actions appropriées en fonction de la touche enfoncée.
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!