Obtention de la taille du terminal avec Go
Une tâche courante dans la programmation shell consiste à obtenir la taille de la fenêtre du terminal. Ces informations sont utiles pour formater la sortie ou créer des interfaces utilisateur. Dans Go, une approche consiste à utiliser la commande stty pour récupérer la taille du terminal. Cependant, cette méthode peut être problématique car elle génère un nouveau processus qui n'est pas lié au tty actuel.
Pour résoudre ce problème, envisagez d'utiliser le package terminal dans le package golang.org/x/crypto/ssh. . Ce package fournit une fonction GetSize qui récupère facilement la taille du terminal. Voici comment l'utiliser :
package main import ( "fmt" "golanger.org/x/crypto/ssh/terminal" "os" ) func main() { width, height, err := terminal.GetSize(int(os.Stdin.Fd())) if err != nil { fmt.Println("Error getting terminal size:", err) } else { fmt.Printf("Width: %d Height: %d\n", width, height) } }
La fonction terminal.GetSize prend un descripteur de fichier en entrée. Un choix courant pour cela est os.Stdin.Fd(), qui représente le flux d'entrée du terminal actuel. La fonction renvoie la largeur et la hauteur du terminal en caractères. En utilisant le package terminal, vous pouvez obtenir avec précision la taille du terminal pour le processus en cours, ce qui en fait une solution plus appropriée que l'exécution de la commande stty.
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!