【发布时间】:2019-02-10 00:30:09
【问题描述】:
我想实现一个 cat 和 golang 的版本,并修改它以制作其他有用的程序
【问题讨论】:
我想实现一个 cat 和 golang 的版本,并修改它以制作其他有用的程序
【问题讨论】:
go-coreutils 是一个很酷的项目,您可以从中汲取灵感。它具有核心 GNU 命令行实用程序的 Go 实现,例如 cat 和许多其他实用程序。以Here is cat 为例。
【讨论】:
您应该看看 os.Open(...) 和 io.Copy(...) -- 但是,除了这些,还有很多其他内容。
也许你真的应该从https://tour.golang.org/welcome/1上的教程开始
【讨论】:
这是一个开始,您可以像这样继续并管理标志等..
package main
import (
"fmt"
"io/ioutil"
"os"
)
func main() {
if len(os.Args) == 2 {
c, err := ioutil.ReadFile(os.Args[1])
if err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Printf("%s\n", string(c))
} else {
for {
var newText string
fmt.Scanf("%s", &newText)
fmt.Println(newText)
}
}
}
【讨论】: