Maison >développement back-end >Golang >Comment obtenir la taille du terminal dans Go ?

Comment obtenir la taille du terminal dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-01 17:23:10332parcourir

How to Get Terminal Size in Go?

Obtention de la taille du terminal dans Go

Dans Go, déterminer la taille du terminal actuel peut être difficile. Une approche courante consiste à exécuter la commande stty size, mais cela peut ne pas toujours être efficace en raison de problèmes d'isolation des processus.

Pour résoudre ce problème, le package terminal du package ssh fournit une solution pratique. La méthode GetSize permet de récupérer facilement la taille du terminal pour un descripteur de fichier donné :

package main

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

func main() {
    width, height, err := terminal.GetSize(int(os.Stdin.Fd()))
    if err != nil {
        log.Fatal(err)
    }

    log.Printf("Terminal width: %d, height: %d", width, height)
}

Le descripteur de fichier du terminal est généralement obtenu à l'aide de os.Stdin.Fd(), qui renvoie un entier représentant la entrée standard actuelle (qui est le terminal).

En utilisant la méthode GetSize, vous pouvez déterminer avec précision la taille du terminal, vous permettant ainsi d'implémenter des applications compatibles avec les terminaux dans Allez.

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