Golang实现字符串倒序的几种解决方案
前言 本文主要给大家介绍了关于Golang实现字符串倒序的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 字符串倒置如下: Hello World --> dlroW olleH 解决方案1: length := len(str) array := make([]string,length) for i,v := range str{ array[i] = string(v) } for i := 0 ; i < length/2 ; i++ { array[i],array[length -i - 1] = array[length - i -1 ],array[i] } str = "" for _,v := range array { str += v } 大致想法是: str -循环-> array -循环-> 倒置 --循环--> str 可以转换中文. 问题: 看上去比较繁琐,而且使用3层循环,效率肯定不高, 解决方案2 bytes := []rune(str) for from,to := 0,len(bytes) -1 ; from < to ; from,to = from + 1,to -1{ bytes[from],bytes[to] = bytes[to],bytes[from] } str = string(bytes) return str 使用一层循环,倒置之后 直接使用 go 内置的 string 函数将 []byte 转换为string 大致思路: string --直接使用构建数组的方法,将str 传入进去,得到 array --> []byte ---for 循环---> 倒置 ---内置的 string 函数--> string 问题: 不能转换 byte 类型 解决方案3 : bytes := []rune(str) for from,bytes[from] } str = string(bytes) return str 解决方案2不能转换中文字符的问题: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持。 参考: string rune byte 的关系 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 我应该选择ActivePerl还是草莓Perl的Windows?
- Groovy做价值匹配的方法?
- perl – 如何解释Devel :: Leak的输出
- java – 将MongoTemplate传递给Custom Repository实现
- Convert Sorted double linked List to Binary Search Tree
- xkx mushclient 全自动walk lua实现
- 您什么时候需要在Perl中“END {close STDOUT}”?
- lua表的遍历-易错点
- [bigdata-023] pymongo 3.4和mongodb 2.x的安全机制导致的用
- php – Laravel DB插入错误:允许的内存大小已用尽