gpt4 book ai didi

go - 像使用io/ioutil的“cat” linux命令一样

转载 作者:行者123 更新时间:2023-12-01 22:36:35 28 4
gpt4 key购买 nike

有一个创建go文件的任务,该文件的行为类似于cat命令。我有一些想法,但如果不写文件名,我不知道如何读取输入。

student@ubuntu:~/div-01/cat$ go build cat.go
student@ubuntu:~/div-01/cat$ ./cat
Hello
Hello
^C
student@ubuntu:~/div-01/cat$

我也只能使用 ioutil,io,os 程序包和学校程序包之一来打印输出。
在Internet上发现了这一点,但是它只是将所有输入保存在数据中,然后在按ctrl + C之后将其打印回来。
package main

import (
"fmt"
"io/ioutil"
"os"
)

func main() {
var lenght int
args := os.Args[1:]
for i := range args {
lenght++
i++
}
if lenght == 0 {
data, err := ioutil.ReadAll(os.Stdin)
if err == nil {
fmt.Println(data)
}
}
}

最佳答案

要检查参数数量,请使用len:

package main

import (
"fmt"
"io/ioutil"
"os"
)

func main() {
// No arguments give, read from STDIN.
if len(os.Args) == 1 {
data, err := ioutil.ReadAll(os.Stdin)
if err != nil {
os.Exit(1)
}
fmt.Printf("%s", data)
os.Exit(0)
}

// TODO Read the content of all files.
}

关于go - 像使用io/ioutil的“cat” linux命令一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61317150/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com