go proposal: unicode/utf8: add String

kadbb459  于 2个月前  发布在  Go
关注(0)|答案(3)|浏览(32)

问题 #3939 建议移除整数类型到字符串类型的转换。为了实现这个目标,如果我们在标准库中有精确的替换方法会很方便。
我建议在 unicode/utf8 包中添加一个新的函数:

func String(r rune) string

此函数将返回一个包含其参数的 UTF-8 编码的字符串。
虽然实现方式可能有所不同,但当然可以进一步优化。

func String(r rune) string {
    var a [4]byte
    return string(a[:EncodeRune(a[:], r)])
}
sbtkgmzw

sbtkgmzw1#

SGTM虽然名字有点冗长,但很适合这个包(不过As是新的)。

我认为你可以使用String: utf8.String(r)来读取。虽然我承认它偷了一个好词,但它只是string(r)的替代品,所以为什么不用呢?

wqsoz72f

wqsoz72f2#

好多了。我更新了提案。

8i9zcol2

8i9zcol23#

如果我们通过保留string(r)来解决#3939中针对rune类型的r,那么我们就不需要这个。
如果我们确实移除了string(r),那么在string(r)消失之前,我们需要引入这个版本或两个版本,以便实现平滑过渡。可以将此推迟到#3939的计划确定后再处理。

相关问题