string,字符串。
定义
var str string
str = " "
var str = " "
str := " "
//" "也可以换成``,不是单引号是esc下面的波浪号的英文输入
我们有时候会需要对string进行处理,这时候就可以导入包strings
import "strings"
下面我会列出常用的几个操作函数
s1 := "shandongwaishizhiyedaxue"
检查是否存在1
var tf bool
tf = strings.Contains(s1, "daxue")
fmt.Println(tf)
//output: true。说明strings.Contains是用于检测字符串中有没有我们想要的子串返回一个bool值
检查是否存在2
tf = strings.ContainsAny(s1, "waimian")
fmt.Println(tf)
//output: true。这个是只要后面字符串的任意字符出现在了s1中就返回true
统计次数
num := strings.Count(s1, "i")
fmt.Println(num)
//output: 3 Count用于统计某个字符或者字符串在s1中出现了多少次
//返回整形数据
检查开头是否符合
tf = strings.HasPrefix(s1, "sha")
fmt.Println(tf)
//output: true 检测s1是否以"sha"开头,返回bool值
检查结尾是否符合
tf = strings.HasSuffix(s1, "xue")
fmt.Println(tf)
//output: true 用于检测s1是否以"xue"结尾,返回bool值
检查第一次出现的下标1
num = strings.Index(s1, "dong")
fmt.Println(num)
//output:4 返回"dong"第一次出现的下标,如果"dong"不存在,返回-1
检查第一次出现的下标2
num = strings.IndexAny(s1, "os")
fmt.Println(num)
//output: 查找"os"中任意一个字符第一次出现在s1中的下标位置
检查最后一次出现的下标
num = strings.LastIndex(s1, "i")
fmt.Println(num)
//output: 16 返回"i"在s1中最后一次出现的下标位置
拼接字符串
//假设我们有一个字符串类型切片
strr := []string{"nishi", "wode", "woshi", "nide", "shei"}
s2 := strings.Join(strr, "鸡")
fmt.Println(s2)
//output: nishi鸡wode鸡woshi鸡nide鸡shei 用"鸡"把切片内所欲内容拼接并形成一个新的字符串
切割字符串
slice1 := strings.Split(s2, "鸡")
fmt.Println(slice1)
//output:[nishi wode woshi nide shei] 根据"鸡"切割字符串,并且把鸡切割掉.然后形成一个新的切片
重复多次拼接
s3 := strings.Repeat("我是奶龙", 5)
fmt.Println(s3)
//output:我是奶龙我是奶龙我是奶龙我是奶龙我是奶龙 重复拼接指定字符串5次,返回一个新的字符串
替换
s4 := strings.Replace(s1, "i", "*", 2)
fmt.Println(s4)
//output:shandongwa*sh*zhiyedaxue 可以发现前两个i被替换了,也就是说将s1中的"i"替换为"*",并且替换前两个.想全部替换掉可以把数字换成-1
大小写变换
str11454 := "woSHinaiLONg"
fmt.Println(strings.ToLower(str11454)) //把大写替换为小写
fmt.Println(strings.ToUpper(str11454)) //把小写替换为大写
/*output:woshinailong WOSHINAILONG*/
字符串截取
fmt.Println("我现在有字符串:", s1, "我想把shandong截出来")
s5 := s1[0:8]
fmt.Println(s5)
//output:shandong 街区的时候是左闭右开区间也就是下标0-7
//[4:]表示从下标4-结尾,[:8]表示从下标0-7
还有很多没有提到的操作函数,而且由于string支持下标操作,所以这些函数我们都可以自己写出来