最近我在这正是 “hollowaykeanho” 给出的第一个方案,我想也是很多人想到的第一个方案,利用 go 的内置切片语法截取字符串:我们很快就了解到这是按字节截取,在处理 ASCII 单字节字符串截取,没有什么比这更完美的方案了,中文往往占多个字节,在 utf8 编码中是3个字节,如下程序我们将获得乱码数据:“hollowaykeanho” 给出的第二个方案就是将字符串转换为 []rune,然后按切片语法截取,再把结果转成字符串。许多人似乎遗忘了 range 是按字符迭代的,并非字节。喝了 range 那碗甜的腻人的良药,我似乎冷静下来了,我需要造一个轮子,它需要更易用,更高效。之后我创造了我用 尝试运行它,我对结果感到十分欣慰:性能较 range 提升了 10%,让我很欣慰可以再次获得新的提升,这证明它是有效的。
暂无评论