我有以下代码将数据从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()
您可以将输出转换[]byte
为string
根据需要用string(out)
问题内容: 最好使用内置的“ go”软件包及其一些子软件包(“ go / ast”,“ go / token”,“ go / printer”等)编写输出有效的go代码的go应用程序。 要创建字符串文字表达式,您需要创建一个ast.BasicLit: 在我的go程序中,我有一个字符串,我需要创建一个ast.BasicLit,该ast.BasicLit在输出时将生成一个字符串文字,该文字将忠实地再现
问题内容: 如何获得“ E”输出而不是69? Golang是否具有将字符转换为字节,反之亦然的功能? 问题答案: 解释的字符串文字是使用单个字符的UTF-8编码(可能是多字节)在双引号“”之间的字符序列。在UTF-8中,ASCII字符是单字节,对应于前128个Unicode字符。字符串的行为就像字节片。符文是标识Unicode代码点的整数值。因此, 输出: 读: 进入转换的编程语言规范部分。 Go
如何得到一个“E”的输出而不是69? Golang是否有将字符转换为字节的功能,反之亦然?
问题内容: 我正在尝试使用Logstash将XML转换为ElasticSearch的JSON。我能够读取值并将其发送到ElasticSearch。问题是所有值都以数组形式出现。我想让它们像字符串一样出来。我知道我可以为每个字段分别执行操作,但是随后遇到了一个问题,嵌套字段的深度为3级。 XML格式 Logstash配置 示例输出 如您所见,输出是每个元素的数组(我替换为的locationId除外)
问题内容: 我正在尝试在Go中找到“ @”字符串字符,但找不到解决方法。我知道如何索引像“ HELLO [1]”这样的字符,它将输出“ E”。但是我试图找到找到的字符的索引号。 在Python中,我可以通过以下方式进行操作: 因此,在使用“ @”定界符时,字符将返回“字符”,而Arefun将返回“ arefun”。我一直在努力寻找解决方案达数小时之久,但似乎无法在Golang中找到正确的解决方案。
问题内容: 我有一个cron作业,现在将其输出重定向到文件中。看起来如下 有人可以帮助我将其输出重新分配到stdout吗? 问题答案: 在任何终端上输入,我们将获得该特定终端窗口的设备文件,例如。将cron作业重新命名为该文件