作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在函数实现 (https://golang.org/src/strings/builder.go) 上方的注释中,我们看到:“返回的错误始终为零。”。这同样适用于写入字符串构建器的所有其他变体。
如果内部缓冲区已满并且操作系统拒绝重新分配所需的内存,则此类函数在内部可能会失败,但显然这在实现中没有处理。
此 API 的用户是否应该考虑 Write* 在标准库的 future 版本中返回错误的可能性?如果不是,为什么会返回错误?
最佳答案
错误返回参数是为了满足特定的接口(interface),比如io.ByteWriter
.换句话说,虽然 strings.Builder
是真的WriteByte
的实现可能不会失败,同样满足相同接口(interface)的相同方法的其他实现可能会返回错误。
这在 bytes.Buffer
的文档中有更明确的说明。 .另见 bufio.Writer
.
为了让您的程序实现更具前瞻性,我建议您无论文档怎么说,都要继续检查错误。
关于Golang : Why does strings. Builder.WriteByte API 提示它可以返回错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69604663/
我是一名优秀的程序员,十分优秀!