我是新手,发现错误处理非常冗长。我已经阅读了它的推理并且大部分都同意,但是有一些地方似乎有更多的代码来处理错误而不是实际执行的工作。这是一个(人为的)示例,我在其中输入“Hello world!” 进入 cat 并读取并打印输出。基本上每一行都有另外三个来处理错误,我什至没有真正处理任何事情。package mainimport "fmt"import "io"import "io/ioutil"import "os/exec"func main() { cmd := exec.Command("cat", "-") stdin, err := cmd.StdinPipe() if err != nil { return } stdout, err := cmd.StdoutPipe() if err != nil { return } err = cmd.Start() if err != nil { return } _, err = io.WriteString(stdin, "Hello world!") if err != nil { return } err = stdin.Close(); if err != nil { return } output, err := ioutil.ReadAll(stdout) if err != nil { return } fmt.Println(string(output)) return}有没有一种惯用的、干净的方法来处理这个问题?我只是觉得我错过了一些东西。
3 回答
- 3 回答
- 0 关注
- 189 浏览
添加回答
举报
0/150
提交
取消