在golang的std包中,“func decodeRuneInternal”和“func decodeRuneInStringInternal”除了args外是相同的,即:func decodeRuneInternal(p []byte) (r rune, size int, short bool)func decodeRuneInStringInternal(s string) (r rune, size int, short bool)为什么不将 decodeRuneInStringInternal 定义为:func decodeRuneInStringInternal(s string) (r rune, size int, short bool) { return decodeRuneInternal([]byte(s)) (r rune, size int, short bool)}在 utf8.go 中,decodeRuneInStringInternal 的实现与 decodeRuneInternal 相同。为什么?
1 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
这两个函数避免了[]byte(s)
字符串函数包裹[]byte函数时转换string(p)
中的内存分配,或[]byte函数包裹字符串函数时转换中的内存分配。
- 1 回答
- 0 关注
- 200 浏览
添加回答
举报
0/150
提交
取消