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

Comment puis-je obtenir la taille du terminal dans Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-10 15:54:10960parcourir

How Can I Get the Terminal Size in Go?

Obtention de la taille du terminal dans Go

Pour obtenir la taille d'un terminal dans Go, vous pouvez suivre les étapes suivantes :

Une façon d'obtenir ceci en utilisant le package exec :

package main

import (
    "fmt"
    "log"
    "os/exec"
)

func main() {
    out, err := exec.Command("stty", "size").Output()
    if err != nil {
        log.Fatal(err)
    }

    fmt.Printf("out: %s", out)
}

Cependant, le code ci-dessus peut rencontrer une erreur liée à la génération d'un processus non associé au borne actuelle. Pour résoudre ce problème, vous pouvez envisager d'intégrer la commande stty au terminal actuel.

Vous pouvez également utiliser le package terminal dans le package golang.org/x/crypto/ssh pour obtenir facilement la taille d'un terminal. :

package main

import (
    "fmt"

    "golang.org/x/crypto/ssh/terminal"
)

func main() {
    width, height, err := terminal.GetSize(int(os.Stdin.Fd()))
    if err != nil {
        fmt.Printf("Error: %s", err)
    }

    fmt.Printf("Width: %d, Height: %d", width, height)
}

Cette méthode utilise un appel système pour obtenir la taille du terminal pour le descripteur de fichier spécifié, offrant une solution plus adaptée pour obtenir des informations sur la taille du terminal.

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