jjzjj

ReadString

全部标签

if-statement - if 语句总是被跳过

我正在尝试制作一个基本的小银行程序来了解我对Go的看法。我运行该程序,当我输入我对任一if语句的答案时,程序就会继续运行。有什么解决办法吗?这是我的代码:packagemainimport("bufio""fmt""os""strconv""strings")funcmain(){reader:=bufio.NewReader(os.Stdin)fmt.Print("Enteryourname:")name,_:=reader.ReadString('\n')fmt.Print("Hello",name)balance:=0fmt.Print("Doyouwanttodeposite?

go - 我可以传递一个字符串作为 bufio.ReadString() 的分隔符吗?

我有一个包含多行查询的文件。我想一一阅读并打印出来。像这样的东西:临时文件select*fromtable1;select*fromtable2;select1;因为我可以进行多行查询,所以我想使用;\n作为分隔符。那可能吗?有没有更好的方法可以代替bufio.ReadString? 最佳答案 首先,bufio.ReadString的原型(prototype)是func(b*Reader)ReadString(delimbyte)(linestring,errerror)它只能将一个字节作为arg,因此您的;\n分隔符将不起作用。使

go - 我可以传递一个字符串作为 bufio.ReadString() 的分隔符吗?

我有一个包含多行查询的文件。我想一一阅读并打印出来。像这样的东西:临时文件select*fromtable1;select*fromtable2;select1;因为我可以进行多行查询,所以我想使用;\n作为分隔符。那可能吗?有没有更好的方法可以代替bufio.ReadString? 最佳答案 首先,bufio.ReadString的原型(prototype)是func(b*Reader)ReadString(delimbyte)(linestring,errerror)它只能将一个字节作为arg,因此您的;\n分隔符将不起作用。使

go - 不能将 bufio.ReadString{} 与 ioutil.ReadFile() 一起使用

如果我尝试通过终端读取文件名,似乎无法找到它。但是,如果我对它进行硬编码,一切都会好起来吗?这不是写出来的问题。这段代码:packagemainimport("bufio""fmt""io/ioutil""os")funccheck(eerror){ife!=nil{panic(e)}}funcgetUserInput(messagestring)(textstring){reader:=bufio.NewReader(os.Stdin)fmt.Println(message)text,err:=reader.ReadString('\n')check(err)returntext}f

go - 不能将 bufio.ReadString{} 与 ioutil.ReadFile() 一起使用

如果我尝试通过终端读取文件名,似乎无法找到它。但是,如果我对它进行硬编码,一切都会好起来吗?这不是写出来的问题。这段代码:packagemainimport("bufio""fmt""io/ioutil""os")funccheck(eerror){ife!=nil{panic(e)}}funcgetUserInput(messagestring)(textstring){reader:=bufio.NewReader(os.Stdin)fmt.Println(message)text,err:=reader.ReadString('\n')check(err)returntext}f

go - readString 与 readLine

我正在编写一个应用程序来逐行读取文件列表并进行一些处理。我想尽可能少地使用RAM。我遇到了这个问题https://stackoverflow.com/a/41741702/3531263张贴者说readString使用的RAM比readLine多,他们已经发布了一些代码。我不明白的是如何使用更多的内存?因为最终,按照他们编写代码的方式,他们仍在将整行代码写入缓冲区。那么这是否意味着如果他们只使用readString,它会是同一件事吗? 最佳答案 thewaytheircodeiswritten,theyarestillwriting

go - readString 与 readLine

我正在编写一个应用程序来逐行读取文件列表并进行一些处理。我想尽可能少地使用RAM。我遇到了这个问题https://stackoverflow.com/a/41741702/3531263张贴者说readString使用的RAM比readLine多,他们已经发布了一些代码。我不明白的是如何使用更多的内存?因为最终,按照他们编写代码的方式,他们仍在将整行代码写入缓冲区。那么这是否意味着如果他们只使用readString,它会是同一件事吗? 最佳答案 thewaytheircodeiswritten,theyarestillwriting

go - 用于单元测试的模拟 bufio 外部包

我需要模拟bufioReader用于检测。特别是ReadStringAPI。funcNewReader(rdio.Reader)*Readerfunc(b*Reader)ReadString(delimbyte)(string,error)NewReader返回bufio.Reader。由于它不返回抽象/接口(interface),因此我无法为Reader创建适配器。你能帮忙吗? 最佳答案 你总是可以定义你自己的接口(interface)//Aninterfacefortheminimalapiourcodeneedstoworkt

go - 用于单元测试的模拟 bufio 外部包

我需要模拟bufioReader用于检测。特别是ReadStringAPI。funcNewReader(rdio.Reader)*Readerfunc(b*Reader)ReadString(delimbyte)(string,error)NewReader返回bufio.Reader。由于它不返回抽象/接口(interface),因此我无法为Reader创建适配器。你能帮忙吗? 最佳答案 你总是可以定义你自己的接口(interface)//Aninterfacefortheminimalapiourcodeneedstoworkt

go - ReadString() 是否丢弃换行符后的字节?

我正在尝试通过以下方式从网络连接中读取数据:funcgetIn(connnet.Conn){for{in,err:=bufio.NewReader(conn).ReadString('\n')iferr!=nil{fmt.Printf(err.Error())}fmt.Printf("[%s]",in)}}发送到该连接的输入流具有以下模式:message1\nmessage2\nmessage3\nmessage4\nmessage5\n等...我注意到我的函数会跳过消息,例如输出:message1\nmessage2\nmessage4\nmessage5\n这让我想到每次遇到换行符