go语言中字符串常用操作

来源:互联网 发布:海思970 高通835 知乎 编辑:程序博客网 时间:2024/06/05 15:30

导语

在工作中遇到了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)
  • 结语

    工作中目前接触主要这些,后期遇到会补充。