首页  >  文章  >  后端开发  >  Go 中空行可以触发 input.Scan() 返回 False 吗?

Go 中空行可以触发 input.Scan() 返回 False 吗?

Susan Sarandon
Susan Sarandon原创
2024-11-11 06:07:02634浏览

Can Empty Lines Trigger `input.Scan()` to Return False in Go?

突破Input.Scan()

在Go中,input.Scan()函数通常用于从安慰。虽然问题中提供的代码有效地工作,但作者寻求一种方法来消除检查关键字“end”以跳出循环的 if 子句。

根据文档, Scan()当扫描停止时返回 false,无论是到达输入末尾还是遇到错误。然而,作者的理解是,空行应该触发返回 false,从而结束循环,而不需要 if 子句。

经检查,提供的代码中使用的默认扫描器实际上是 ScanLines ,而不是 ScanWords。 ScanLines 返回文本的每一行,去除任何行结尾,并且可能包含空行。重要的是,即使输入的最后一个非空行也会被返回,即使它缺少行结尾。

扫描仪仅在遇到 EOF(文件结束)时停止操作。因此,当用户输入“end”表示输入结束时,仍然需要原代码中的if子句来终止循环。

以上是Go 中空行可以触发 input.Scan() 返回 False 吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn