首頁 > 後端開發 > Golang > 如何取得 Go 中的終端大小?

如何取得 Go 中的終端大小?

Patricia Arquette
發布: 2024-12-10 15:54:10
原創
963 人瀏覽過

How Can I Get the Terminal Size in Go?

取得Go 中的終端大小

要取得Go 中終端的大小,可以採取以下步驟:

一種實作方法這是透過使用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)
}
登入後複製

但是,上面的程式碼可能會遇到與產生 a相關的錯誤與當前終端無關的進程。為了解決這個問題,您可以考慮將 stty 命令與目前終端整合。

或者,您可以利用golang.org/x/crypto/ssh 套件中的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)
}
登入後複製

該方法使用系統呼叫來取得指定檔案描述符的終端大小,為獲取終端大小提供了更客製化的解決方案資訊。

以上是如何取得 Go 中的終端大小?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板