Go でシステム コマンド出力を文字列として取得する
Go プログラム内でシステム コマンドを実行する場合、多くの場合、出力を次のように保存することが望ましいです。さらに処理または表示するための文字列。これは、exec.Command() 関数を使用して実現できます。
Go の古いバージョンでは、このプロセスには標準出力とエラーのファイル引数の管理が含まれていました。ただし、最新の Go では、より単純なアプローチが提供されています。
Output() による解決策:
システム コマンドの出力をバイト配列としてキャプチャするには、Output( ) exec.Command() メソッド。以下に例を示します。
package main import ( "fmt" "log" "os/exec" ) func main() { out, err := exec.Command("date").Output() if err != nil { log.Fatal(err) } fmt.Printf("The date is %s\n", out) }
out 変数には、date コマンドの標準出力がバイト配列として含まれています。 string(out) を使用して簡単に文字列に変換できます。
代替: CombinedOutput()
CombinedOutput() メソッドは、標準出力と標準エラーの両方を次のように返します。バイト配列。両方のタイプの出力をキャプチャする便利な方法を提供します。
要約すると、次のようになります。 exec.Command() と Output() または CombinedOutput() メソッドを使用すると、Go でシステム コマンドの出力を文字列またはバイト配列として取得できるため、外部コマンドと対話するプロセスが簡素化されます。
以上がGo でシステム コマンド出力を文字列として取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。