登录
首页 >  Golang >  Go问答

计算 Go 命令行程序管道输入的长度

来源:stackoverflow

时间:2024-02-18 14:00:25 404浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《计算 Go 命令行程序管道输入的长度》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

我有来自确定 stdin 是否有 go 数据的以下代码

package main

import (
    "fmt"
    "os"
)

func main() {
    file := os.Stdin
    fi, err := file.Stat()
    if err != nil {
        fmt.Println("file.Stat()", err)
    }
    size := fi.Size()
    if size > 0 {
        fmt.Printf("%v bytes available in Stdin\n", size)
    } else {
        fmt.Println("Stdin is empty")
    }
}

但无论我如何运行它,大小始终为 0。

我正在运行带有 go 版本 1.14 的 fedora 32


解决方案


您必须编译为代码才能获得可执行文件。 然后您可以通过管道将任何文本输入其中,以获取其大小。

go build pipe.go
ls -lah pipe
2.1m jul 23 23:06 pipe

然后你可以运行它

echo "test" | ./pipe
5 bytes available in Stdin

好了,本文到此结束,带大家了解了《计算 Go 命令行程序管道输入的长度》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>