go语言中字符串常用操作
导语
在工作中遇到了go语言,个人赶脚入门还是很快的,作为一个新手,这里记录自己遇到go语言中字符串的用法。
基本知识简介
- 类型为string
- 字符串用 "" ,或者 '' 括起来定义
- 字符串不可变
例如下面的例子会报错:
var s string = "hello"
s[0] = 'c'
修改字符串
字符串的修改可以通过转换类型实现
s :="hello"
c := []bytes(s) // 转换类型
c[0] = 'c'
s2: = string(c) //转回字符串
也可以通过切片处理实现
s := "hello"
s = 'c' +s[1:]
字符串连接
可以使用+号直接连接
s := "hello"
m := "world"
a := s +m
也可以使用下面的方式连接
writeStr := fmt.Sprintf("第%d条线程开始读取", i) // 根据格式说明符进行格式化并返回其结果字符串。
字符串常用操作
- 字符串中含有某个字符
isContain := strings.Contains(pageitem, ".") // 是否含有 .
- 字符串长度
s := "hello"
len (s)
- 字符串根据指定字符进行切割
s := "hello"
var strArr [] string
strArr = strings.Split(s, "e")
- 字符串截取指定长度
str := "hello"
rs := []rune(str)
str0 := string(rs[0:3])// 截取下来的是hel
*字符串的正则匹配
str := "1938848841333333234"
reg := regexp.MustCompile(\d{17}
) // 匹配连续17位数字
result := reg.FindAllString(str, -1) //
字符串与其他类型转换
- 字符串转为uint64
strconv.ParseUint(str, 16, 64) // 把16位的字符串转为uint 64
strconv.ParseInt(str, 16, 64) // 类似上面转为int64
- 把整型的十进制i转为字符串
str := strconv.FormatInt(i, 10)
结语
工作中目前接触主要这些,后期遇到会补充。