首页 > 后端开发 > Golang > 如何高效去除Go读取的字符串中的换行符?

如何高效去除Go读取的字符串中的换行符?

Mary-Kate Olsen
发布: 2024-12-26 07:23:34
原创
717 人浏览过

How Can I Efficiently Remove the Newline Character from a String Read in Go?

Go 中的高效子字符串提取

处理来自控制台的输入时,通常会读取整行以进行进一步处理。然而,换行符可能会给使用 bufio.ReadString() 带来挑战。为了解决这个问题,有人建议手动修剪换行符。

input, _ := src.ReadString('\n')
inputFmt := input[0:len(input) - 2] + "" // Manual newline trimming
登录后复制

有更优雅的解决方案吗?

要回答这个问题,我们需要澄清Go 中的两个关键概念:

  • 切片: 与 C 风格不同与数组一样,Go 切片本质上以字节为单位存储其长度。因此,在切片之前不需要显式计算长度。
  • 字符串存储: Go 字符串不是以 null 结尾的,因此提取时不需要删除空字节子字符串。

考虑到这些概念,以下方法提供了更惯用和更高效的方法解决方案:

input, _ := src.ReadString('\n')
inputFmt := input[:len(input) - 1]
登录后复制

这个版本只是将输入字符串切片到最后一个字符(假设它是一个单字节字符)。这避免了不必要的字符串操作并确保有效的子字符串提取。

以上是如何高效去除Go读取的字符串中的换行符?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板