Go で端末のサイズを取得するには、次の手順を実行できます。
実現する 1 つの方法これは、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) }
ただし、上記のコードでは、プロセスは現在の端末に関連付けられていません。これに対処するには、stty コマンドを現在のターミナルに統合することを検討できます。
あるいは、golang.org/x/crypto/ssh パッケージ内のターミナル パッケージを利用して、ターミナルのサイズを簡単に取得できます。 :
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) }
このメソッドは、syscall を使用して指定されたファイル記述子の端末サイズを取得し、端末サイズを取得するためのよりカスタマイズされたソリューションを提供します。情報。
以上がGo で端末のサイズを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。