「terminal」パッケージを使用して Go で端末のサイズを取得する
Go で端末のサイズにアクセスすることは、特に実行しようとする場合に困難になることがありますstty サイズコマンド。ただし、公式 ssh パッケージ (golang.org/x/crypto/ssh/terminal) 内で利用可能なターミナル パッケージは、洗練されたソリューションを提供します。
「ターミナル」パッケージの使用
端子を使用して端子の寸法を取得するにはpackage:
import ( "golang.org/x/crypto/ssh/terminal" "os" ) func main() { fd := int(os.Stdin.Fd()) width, height, err := terminal.GetSize(fd) if err != nil { fmt.Printf("Error: %v", err) return } fmt.Printf("Terminal size: %d x %d\n", width, height) }
実装の詳細
terminal.GetSize 関数は、目的の端末のファイル記述子を受け取ります。システム コールを利用して、提供されたファイル記述子に関連付けられた端末の寸法を取得します。
例のエラー処理の改善
提供された例では、端末のパニックを防ぐためにエラーが処理されます。 .GetSize で問題が発生しました。代わりに、エラー メッセージがコンソールに出力されます。
結論
ターミナル パッケージを利用することで、開発者は Go でターミナルの寸法を簡単に取得できます。これにより、ターミナル関連の操作を処理するプロセスが簡素化され、シェル コマンドを手動で実行する場合と比較して、より信頼性の高いソリューションが提供されます。
以上が`terminal` パッケージを使用して Go でターミナルのディメンションを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。