草庐IT

stdin_reader

全部标签

file - 如何在 Go 中的 io.Reader 上测试 EOF?

Go的io.Reader文档指出Read()可能会返回一个非零的n值和一个io.EOF同时。不幸的是,File的Read()方法不会这样做。当到达EOF时仍然可以读取一些字节,文件的Read方法返回非零n和nil错误。只有当我们已经在文件末尾尝试读取时,我们才返回零n和io.EOF作为错误。如果不尝试从文件中读取数据,我找不到一种简单的方法来测试是否达到了EOF。如果我们使用0字节的缓冲区执行Read(),我们会返回零n和nil错误,尽管我们在文件末尾。为了避免最后一次读取,我找到的唯一解决方案是自己跟踪文件中剩余要读取的字节数。有更简单的解决方案吗? 最佳

go - 为什么我的 Go Reader 不工作?

我试图在Go中实现一个非常简单的io.Reader:packagemainimport("io""os""strings")typerot13Readerstruct{rio.Reader}//VerytrivialfunctionIimplemented.func(r*rot13Reader)Read(p[]byte)(int,error){return5,nil//Returnsometrivialvaluesfornow.}funcmain(){s:=strings.NewReader("Lbhpenpxrqgurpbqr!")r:=rot13Reader{s}io.Copy(o

go - 为什么我的 Go Reader 不工作?

我试图在Go中实现一个非常简单的io.Reader:packagemainimport("io""os""strings")typerot13Readerstruct{rio.Reader}//VerytrivialfunctionIimplemented.func(r*rot13Reader)Read(p[]byte)(int,error){return5,nil//Returnsometrivialvaluesfornow.}funcmain(){s:=strings.NewReader("Lbhpenpxrqgurpbqr!")r:=rot13Reader{s}io.Copy(o

go - 不能将 (type []byte) 用作 io.Reader 类型

我不明白错误,这是我在机器“A”中执行的main.go:packagemainimport("fmt""net""os""github.com/mistifyio/go-zfs")funcmain(){//Listenforincomingconnections.l,err:=net.Listen("tcp","192.168.99.5:9977")iferr!=nil...//Closethelistenerwhentheapplicationcloses.deferl.Close()fmt.Println("Listeningon"+CONN_HOST+":"+CONN_PORT)

go - 不能将 (type []byte) 用作 io.Reader 类型

我不明白错误,这是我在机器“A”中执行的main.go:packagemainimport("fmt""net""os""github.com/mistifyio/go-zfs")funcmain(){//Listenforincomingconnections.l,err:=net.Listen("tcp","192.168.99.5:9977")iferr!=nil...//Closethelistenerwhentheapplicationcloses.deferl.Close()fmt.Println("Listeningon"+CONN_HOST+":"+CONN_PORT)

input - Golang - 读取 Os.stdin 输入但不回显

在golang程序中,我正在读取来自bufio.Reader的Os.Stdin输入。按下回车键后,程序读取输入,然后将其打印到控制台上。是否可以不将输入打印到控制台上?阅读后,我处理输入并重新打印(不再需要原始输入)。我是这样读取数据的:inputReader:=bufio.NewReader(os.Stdin)for{outgoing,_:=inputReader.ReadString('\n')outs 最佳答案 除了使用ANSIescapecodes,我想不出其他方法。清除终端并将光标移动到特定位置(在您的情况下为第1列:第1

input - Golang - 读取 Os.stdin 输入但不回显

在golang程序中,我正在读取来自bufio.Reader的Os.Stdin输入。按下回车键后,程序读取输入,然后将其打印到控制台上。是否可以不将输入打印到控制台上?阅读后,我处理输入并重新打印(不再需要原始输入)。我是这样读取数据的:inputReader:=bufio.NewReader(os.Stdin)for{outgoing,_:=inputReader.ReadString('\n')outs 最佳答案 除了使用ANSIescapecodes,我想不出其他方法。清除终端并将光标移动到特定位置(在您的情况下为第1列:第1

go - 如何将 io.Reader 变成 io.ReadCloser?

这个问题在这里已经有了答案:Golangio/ioutilNopCloser(3个答案)关闭4年前。我有一个不需要关闭的io.Reader:stringReader:=strings.NewReader("shiny!")我想将它传递给接收io.ReadCloser的方法funcreadAndClose(sourceio.ReadCloser){...}如何在不专门创建实现Close方法的结构的情况下将io.Reader转换为io.ReadCloser?

go - 如何将 io.Reader 变成 io.ReadCloser?

这个问题在这里已经有了答案:Golangio/ioutilNopCloser(3个答案)关闭4年前。我有一个不需要关闭的io.Reader:stringReader:=strings.NewReader("shiny!")我想将它传递给接收io.ReadCloser的方法funcreadAndClose(sourceio.ReadCloser){...}如何在不专门创建实现Close方法的结构的情况下将io.Reader转换为io.ReadCloser?

linux - 为什么在 bash 中的 while read 循环中重定向 stdin?

考虑以下示例脚本:#!/bin/shdo_something(){echo$@return1}catsample.textThisisasampletextItservesnootherpurposeEOFcatsample.text|whilereadarg1arg2arg3arg4arg5;doret=0do_something"$arg1""$sarg2""$arg3""$arg4""$arg5"将stdout重定向为文件描述符3的输入的目的是什么?至少在Bash中,省略它似乎没有任何区别。如果它在bash以外的任何其他shell中执行,它是否有任何影响?更新对于那些想知道这是从