gpt4 book ai didi

go - bufio.Reader ReadRune - 大小为 0(返回值)可能吗?

转载 作者:数据小太阳 更新时间:2023-10-29 03:15:55 27 4
gpt4 key购买 nike

当错误为 nil 时,ReadRune 真的可以返回大小为 0 的值吗?

我很好奇,因为我在网上看到一些例子,代码如下:

//assuming input = *bufio.Reader
r, size, err := input.ReadRune()
if size == 0 && err == nil {
return 0, nil
} else if err != nil {
return 0, err
}
return r, nil

然而,根据go文档:

If the encoded rune is invalid, it consumes one byte and returns unicode.ReplacementChar (U+FFFD) with a size of 1.

那么在什么情况下当错误为 nil 时会返回一个大小为 0 的 rune ?

最佳答案

不存在 bufio.Reader ReadRune 方法返回 size == 0 和 err == nil 的情况。

在无法读取有效 rune 的情况下,该方法读取 rune 或单个字节。在这两种情况下,返回的大小都大于零。

关于go - bufio.Reader ReadRune - 大小为 0(返回值)可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36022253/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com