如何从stdout输出到golang中的字符串

我有以下代码将数据从stdout输出到文件:

cmd := exec.Command("ls","lh")

outfile, err := os.Create("./out.txt")

if err != nil {

panic(err)

}

defer outfile.Close()

stdoutPipe, err := cmd.StdoutPipe()

if err != nil {

panic(err)

}

writer := bufio.NewWriter(outfile)

defer writer.Flush()

err = cmd.Start()

if err != nil {

panic(err)

}

go io.Copy(writer, stdoutPipe)

cmd.Wait()

我需要将输出从stdout转换为字符串值而不是文件。我该如何实现?

可能还有另一个函数可以让我将io.Copy行更改为io.Copy(myStringVariable,stdoutPipe),因为我需要读取命令的输出并对其进行一些处理?

提前致谢

回答:

您不需要管道,编写器,goroutine等。只需使用Cmd.Output

out, err := exec.Command("ls","lh").Output()

您可以将输出转换[]bytestring根据需要用string(out)

以上是 如何从stdout输出到golang中的字符串 的全部内容, 来源链接: utcz.com/qa/416597.html

回到顶部