Maison > développement back-end > Golang > Comment puis-je obtenir les dimensions du terminal dans Go à l'aide du package « terminal » ?

Comment puis-je obtenir les dimensions du terminal dans Go à l'aide du package « terminal » ?

Barbara Streisand
Libérer: 2024-12-02 02:00:10
original
1040 Les gens l'ont consulté

How Can I Get Terminal Dimensions in Go Using the `terminal` Package?

Récupérer les dimensions du terminal dans Go à l'aide du package 'terminal'

L'accès à la taille du terminal peut être difficile dans Go, en particulier lors de la tentative d'exécution la commande stty size. Cependant, le package terminal, disponible dans le package ssh officiel (golang.org/x/crypto/ssh/terminal), offre une solution élégante.

Utilisation du package 'terminal'

Pour obtenir les dimensions du terminal à l'aide du package du terminal :

import (
    "golang.org/x/crypto/ssh/terminal"
    "os"
)

func main() {
    fd := int(os.Stdin.Fd())
    width, height, err := terminal.GetSize(fd)
    if err != nil {
        fmt.Printf("Error: %v", err)
        return
    }
    fmt.Printf("Terminal size: %d x %d\n", width, height)
}
Copier après la connexion

Mise en œuvre Détails

La fonction terminal.GetSize accepte le descripteur de fichier du terminal souhaité. Il utilise des appels système pour récupérer les dimensions du terminal associées au descripteur de fichier fourni.

Gestion améliorée des erreurs dans l'exemple

L'exemple fourni gère les erreurs pour éviter la panique si le terminal .GetSize rencontre un problème. Il imprime le message d'erreur sur la console à la place.

Conclusion

En tirant parti du package du terminal, les développeurs peuvent obtenir sans effort les dimensions du terminal dans Go. Cela simplifie le processus de gestion des opérations liées au terminal et fournit une solution plus fiable par rapport à l'exécution manuelle des commandes shell.

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!

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