Heim >Backend-Entwicklung >Golang >Wie kann ich die Terminalgröße in Go zuverlässig abrufen?

Wie kann ich die Terminalgröße in Go zuverlässig abrufen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-22 07:50:09835Durchsuche

How to Reliably Fetch Terminal Size in Go?

Terminalgröße in Go abrufen

Problem:

Abrufen der Größe des aktiven Terminals kann in Go eine Herausforderung sein. Das bereitgestellte Code-Snippet versucht, den Befehl stty size zu verwenden, schlägt jedoch aufgrund eines nicht verwandten Prozess-Spawns fehl.

Lösung:

The golang.org/x/crypto/ssh Das /terminal-Paket bietet eine praktische Lösung. Es enthält die GetSize-Funktion, die die Terminalgröße für einen angegebenen Dateideskriptor abruft.

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

func GetTerminalSize() (width, height int, err error) {
    return terminal.GetSize(int(os.Stdin.Fd()))
}

Diese Funktion verwendet einen Systemaufruf, um die Terminalgröße abzurufen, um Genauigkeit und Kompatibilität mit verschiedenen Systemen sicherzustellen.

Das obige ist der detaillierte Inhalt vonWie kann ich die Terminalgröße in Go zuverlässig abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn