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
Barbara Streisandoriginal
2024-12-02 02:00:10927parcourir

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)
}

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:
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