【问题标题】:How do I implement text streams, similar to cat in unix, in golang?如何在 golang 中实现类似于 unix 中的 cat 的文本流?
【发布时间】:2019-02-10 00:30:09
【问题描述】:

我想实现一个 cat 和 golang 的版本,并修改它以制作其他有用的程序

【问题讨论】:

    标签: unix go stream cat


    【解决方案1】:

    go-coreutils 是一个很酷的项目,您可以从中汲取灵感。它具有核心 GNU 命令行实用程序的 Go 实现,例如 cat 和许多其他实用程序。以Here is cat 为例。

    【讨论】:

      【解决方案2】:

      您应该看看 os.Open(...)io.Copy(...) -- 但是,除了这些,还有很多其他内容。

      也许你真的应该从https://tour.golang.org/welcome/1上的教程开始

      【讨论】:

        【解决方案3】:

        这是一个开始,您可以像这样继续并管理标志等..

        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)
                }
            }
        }
        

        【讨论】:

          猜你喜欢
          • 2013-07-27
          • 1970-01-01
          • 2021-12-31
          • 2017-04-15
          • 2018-11-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-03
          相关资源
          最近更新 更多