Go でのターミナル画面のクリア: ネイティブまたは外部ツール
Go スクリプトを実行する場合、ターミナル画面をクリアするのが実用的な操作になることがあります。このタスクには組み込みの Go メソッドはありませんが、外部ライブラリを利用したり、独自のカスタム ソリューションを定義したりできます。
外部ライブラリの使用
os/execパッケージは、外部コマンドを実行する手段を提供します。このパッケージを利用すると、オペレーティング システム固有のコマンドを使用して画面をクリアできます。このアプローチはプラットフォームによって異なります。
独自のソリューションの展開
よりカスタマイズされたアプローチを希望する場合は、サポートされているオペレーティング システムごとに明確な関数を定義できます。 runtime.GOOS 定数は、プラットフォームを決定し、適切なコマンドを実行するのに役立ちます。
package main import ( "fmt" "os" "os/exec" "runtime" "time" ) var clear map[string]func() func init() { clear = make(map[string]func()) clear["linux"] = func() { cmd := exec.Command("clear") cmd.Stdout = os.Stdout cmd.Run() } clear["windows"] = func() { cmd := exec.Command("cmd", "/c", "cls") cmd.Stdout = os.Stdout cmd.Run() } } func CallClear() { value, ok := clear[runtime.GOOS] if ok { value() } else { panic("Your platform is unsupported! I can't clear terminal screen :(") } } func main() { fmt.Println("I will clean the screen in 2 seconds!") time.Sleep(2 * time.Second) CallClear() fmt.Println("I'm alone...") }
注: 外部コマンドを使用して画面をクリアすると、セキュリティに影響を及ぼす可能性があります。このスレッドで説明されている他の方法も検討してください。
以上がGo のターミナル画面をクリアするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。