首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Go中反转字符串?

如何在Go中反转字符串?
EN

Stack Overflow用户
提问于 2009-11-18 06:44:47
回答 32查看 94.5K关注 0票数 121

我们如何在Go中反转一个简单的字符串?

EN

Stack Overflow用户

发布于 2016-09-04 00:02:32

以下两种方法的运行速度比最快的solution that preserve combining characters更快,但这并不是说我的基准测试设置中缺少了什么。

代码语言:javascript
运行
复制
//input string s
bs := []byte(s)
var rs string
for len(bs) > 0 {
    r, size := utf8.DecodeLastRune(bs)
    rs += fmt.Sprintf("%c", r)
    bs = bs[:len(bs)-size]
} // rs has reversed string

this启发的第二种方法

代码语言:javascript
运行
复制
//input string s
bs := []byte(s)
cs := make([]byte, len(bs))
b1 := 0
for len(bs) > 0 {
    r, size := utf8.DecodeLastRune(bs)
    d := make([]byte, size)
    _ = utf8.EncodeRune(d, r)
    b1 += copy(cs[b1:], d)
    bs = bs[:len(bs) - size]
} // cs has reversed bytes
票数 1
EN
查看全部 32 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1752414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档