var|不是吧!用Go实现字符串的逆序你还不会?

文章图片

文章图片

本文使用Go来实现字符串逆序这个功能 , 用最简单的话术让你理解一、实现字符串的逆序在go中 , 字符串要根据索引获取值是需要转为字节的 。 接下来我们看一个实现代码
代码应该都看的明白 , 下面咔咔用图解来帮助解释一下
package main
import (
\"fmt\"
)
func stringReverse() {
var str = \"Hello\"
// 字符串转字节
var bytes [
byte = [
byte(str)
for i := 0; i < len(str)/2; i++ {
// 定义一个变量存放从后往前的值
tmp := bytes[len(str)-i-1
// 从后往前的值跟从前往后的值调换
bytes[len(str)-i-1
= bytes[i
// 从前往后的值跟从后往前的值进行调换
bytes[i
= tmp
str = string(bytes)
fmt.Println(str)
这段代码可以看到循环的最大次数就是将字符串的长度除了2
在这副图中我们可以看到第一次循环时是将第一字符串跟最后一个字符串进行调换
第二次循环时将第二个值跟倒数第二值进行调换
这就是这块代码的意义所在
先将索引最后的字符串的值拿出来
接着让最后索引的字符串跟第一个索引字符串相等 也就是上图中第一个步骤 让最后一个值跟等于第一个值
然后把第一个索引的字符串改为我们第一步保存的值 同理 让第一个值等于最后一个值
在go中还有好几种实现这个过程 , 这里咔咔在提供一种供大家参考
这种方式需要引入包
strings , 也是官方推荐的一种方式func stringReverse1() {
var str = \"hello\"
var bytes [
byte = [
byte(str)
var build strings.Builder
for i := 0; i < len(bytes); i++ {
i2 := bytes[len(bytes)-i-1
build.WriteString(string(i2))
s3 := build.String()
fmt.Println(s3)
执行两个代码 , 检测是否可行
二、给你一个小技巧让你在用Go的Debug时游刃有余假设我们想调试一下这几个值的时候 , 就会发现go会直接报出一个变量没有使用的错误 。 这种写法在PHP中是不存在报错的 , 这个错误就会导致go的程序编译无法通过
那么我们应该如何模拟已经使用了这个值呢!
可以使用一个底杠来解决这个问题
这时就可以使用debug来调试了我们想要得值了
【var|不是吧!用Go实现字符串的逆序你还不会?】坚持学习、坚持写博、坚持分享是咔咔从业以来一直所秉持的信念 。 希望在诺大互联网中咔咔的文章能带给你一丝丝帮助 。
推荐阅读
- 凉茶|凉茶最大的问题不是添加西药,而是冒充饮料
- SS9赛季手册值得买吗?爱神SLR首款皮肤不是亮点,飞行器实测完爆军需
- 这些星座女最容易在感情里遭遇渣男,赶紧进来避避难吧!
- 终于|十四年后,那句“不是你撞的为什么要扶”, 终于酿成了恶果
- 济南|不是所有路段都能“临时停车” 济南交警集中整治机动车违停行为
- 特朗普|特朗普:将赦免“非常重要”的一个人,但不是斯诺登或弗林
- 袁心玥是不是中国女排之中身材最好的球员?你怎么看?
- 李可|输给林有有,送橘子的李可为何没撩动许幻山?并不是因为顾佳打压
- 大海说军史|34名特种兵集体叛变,杀害上千名军警,少将:军队已不是对手
- 光明日报|星巴克拒收硬币,不是一件小事
