Mendapatkan Saiz Terminal dengan Go
Satu tugas biasa dalam pengaturcaraan shell ialah mendapatkan saiz tetingkap terminal. Maklumat ini berguna untuk memformat output atau mencipta antara muka pengguna. Dalam Go, satu pendekatan ialah menggunakan arahan stty untuk mendapatkan semula saiz terminal. Walau bagaimanapun, kaedah ini boleh menimbulkan masalah kerana ia menghasilkan proses baharu yang tidak berkaitan dengan tty semasa.
Untuk menangani isu ini, pertimbangkan untuk menggunakan pakej terminal dalam pakej golang.org/x/crypto/ssh . Pakej ini menyediakan fungsi GetSize yang mudah mendapatkan semula saiz terminal. Begini cara untuk menggunakannya:
package main import ( "fmt" "golanger.org/x/crypto/ssh/terminal" "os" ) func main() { width, height, err := terminal.GetSize(int(os.Stdin.Fd())) if err != nil { fmt.Println("Error getting terminal size:", err) } else { fmt.Printf("Width: %d Height: %d\n", width, height) } }
Fungsi terminal.GetSize mengambil deskriptor fail sebagai input. Pilihan biasa untuk ini ialah os.Stdin.Fd(), yang mewakili aliran input terminal semasa. Fungsi mengembalikan lebar dan ketinggian terminal dalam aksara. Dengan menggunakan pakej terminal, anda boleh mendapatkan saiz terminal dengan tepat untuk proses semasa, menjadikannya penyelesaian yang lebih sesuai daripada melaksanakan arahan stty.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Saiz Terminal dengan Cekap dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!