go中字符串的截取替换,以及interface{}类型转换为st

2020-01-10  本文已影响0人  Mr_Arvin
image.png

如图代码所示:

截取思路一: 把字符串转成字节数组,然后使用slice切片得到其中想要截取的一段

image.png

但是因为处理的字符串中可能还存在中文,而中文一般不止占一个字节,在go语言中一个中文一般占用3个字节,那么如果按照字节数组处理的话,还需要遍历每个字节,判断编码,判断ascii码,处理起来也就复杂了.

截图思路二:如果中文也只占用一个数组下标就好了,查看文档发现rune类型满足需求.

Go语言的字符有以下两种:

因此这里我采用了rune类型,首先将参数str转为rune类型,再获取需要的片段,再转换为string类型,得到了需要替换的部分,再使用strings包中的替换函数ReplaceAll进行处理得到我们所需要的字符串.

另外记录下,string函数不能直接转换interface{}类型,不过可以使用如下语法:

image.png

name, ok := x.(T) 类型断言语法,检查x是否为T类型,是的话返回值给name.返回bool值给ok,当x为nil时或者未接收ok返回值时,断言失败都会直接panic

go语言中判断null值,使用的是nil

item["name"] = null

image.png
上一篇 下一篇

猜你喜欢

热点阅读