【笔记】Go语言的字符串

前言

Go语言的字符串学习笔记

声明字符串

str:字符串变量名

1
var str string

定义字符串

1
2
3
var str string = "字符串"
var str = "字符串"
str := "字符串"

非空判断

1
2
3
if 变量名 != "" {
...
}

通过索引获取字符

1
s[索引]

通过切片截取子串

  • 截取[开始索引,结束索引)范围的子串
  • Go语言不支持负索引截取
1
2
3
4
s[:]
s[开始索引:]
s[:结束索引]
s[开始索引:结束索引]

字符串拼接

1
2
3
s1 := ""
s2 := ""
s := s1 + s2

转义字符

转义字符 备注
\n 换行符
\t 制表符
\\ 斜线(\
\" 双引号("

多行字符串

1
2
3
s := `
字符串
`

内置API

获取长度

1
len(str)

转换大小写

全部字符转大写

1
strings.ToUpper(str)

全部字符转小写

1
strings.ToLower(str)

判断开头结尾

  • 返回布尔值

s:子串变量名

判断是否以指定子串开头

1
strings.HasPrefix(str, s)

判断是否以指定子串结尾

1
strings.HasSuffix(str, s)

去除首位所有指定字符

" ":去掉首尾的所有空格

1
strings.Trim(str, " ")

去除首部指定字符

1
strings.TrimLeft(str, " ")

去除尾部指定字符

1
strings.TrimRight(str, " ")

去除首位空白字符

1
strings.TrimSpace(str)

寻找子串

子串首次出现位置

1
strings.Index(str, s)

子串末次出现位置

1
strings.LastIndex(str, s)

分割

  • 将字符串根据指定分隔符分割为多个字符串数组

-:指定任意分隔符

1
strings.Split(str, "-")

拼接

  • 将多个字符串数组中的所有字符串根据指定分隔符拼接成一个字符串

-:指定任意分隔符

1
2
var arr []string
strings.Join(arr, "-")

替换子串

1
strings.ReplaceAll(str, <s_old>, <s_new>)

判断是否包含

1
strings.Contains(str, s)

完成

参考文献

哔哩哔哩——Python路飞