golang:用Go实现字符串的逆序

 所属分类:php教程

 浏览:155次-  评论: 0次-  更新时间:2022-09-30
描述:更多教程资料进入php教程获得。 ❝本文使用Go来实现字符串逆序这个功能,用最简单的话术让你理解附带在Go中debug的小技巧例如:Hello 转...
更多教程资料进入php教程获得。

本文使用Go来实现字符串逆序这个功能,用最简单的话术让你理解

附带在Go中debug的小技巧

例如:Hello 转换为 olleH

一、实现字符串的逆序

在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

在这副图中我们可以看到第一次循环时是将第一字符串跟最后一个字符串进行调换

第二次循环时将第二个值跟倒数第二值进行调换001.png

php入门到就业线上直播课:进入学习
API 文档、设计、调试、自动化测试一体化协作工具:点击使用

这就是这块代码的意义所在

先将索引最后的字符串的值拿出来

接着让最后索引的字符串跟第一个索引字符串相等 也就是上图中第一个步骤 让最后一个值跟等于第一个值

然后把第一个索引的字符串改为我们第一步保存的值 同理 让第一个值等于最后一个值

3bbc00bb0bf594c8b2f0da828a47d0e.png

在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)
}

执行俩个代码,检测是否可行

b352d6a3646bea21626dbb08cc65ae0.png

二、给你一个小技巧让你在用Go的Debug时游刃有余

假设我们想调试一下这几个值的时候,就会发现go会直接报出一个变量没有使用的错误。这种写法在PHP中是不存在报错的,这个错误就会导致go的程序编译无法通过

351c1c67281169a7729b508142f2191.png

那么我们应该如何模拟已经使用了这个值呢!

可以使用一个底杠来解决这个问题

这时就可以使用debug来调试了我们想要得值了

7ba95d60bc55dc64ce38e9c8a8db8be.png

坚持学习、坚持写博、坚持分享是咔咔从业以来一直所秉持的信念。希望在诺大互联网中咔咔的文章能带给你一丝丝帮助。

以上就是用Go实现字符串的逆序的详细内容,更多请关注zzsucai.com其它相关文章!

 标签: Go,字符串,
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!