1. 统计字符串长度:len(str)
len(str) 函数用于统计字符串的长度,按字节进行统计,且该函数属于内置函数也不用导包,直接用就行,示例如下:
//统计字符串的长度,按字节进行统计:
str := "golang你好"//在golang中, 汉字是utf-8字符集,一个汉字3个字节
fmt.Print1n(len(str))//12字节
2. 字符串遍历
(1)利用方式1:for-range键值循环
//对字符串进行遍历:
//方式1:利用键值循环: for-range
for i,value := range str {
fmt.Printf("索引为: %d, 具体的值为: %c \n", i, value)
}
结果如下:
(2)利用方式2: r:=[]rune(str)
//方式2:利用r:=[ ]rune(str)
r:=[]rune(str)
fori:=0;i<len(r);i++{
fmt. Printf("%c \n" ,r[i])
}
结果如下:
3. 字符串转整数:Atoi
n, err := strconv.Atoi("66")
4. 整数转字符串:Itoa
str = strconv.Itoa(6887)
5. 查找子串是否在指定的字符串中: Contains
strings.Contains("javaandgolang", "go")
6. 统计一个字符串有几个指定的子串:Count
//统计一个字符串有几个指定的子串:
count := strings.Count("golangandjavaga", ga")
fmt.Println(count) //2
7. 不区分大小写的字符串比较:EqualFold
//不区分大小写的字符串比较:
flag := strings.EqualFold("hello","HELLO")
fmt.Println(flag)//true
//区分大小写进行字符串比较:
fmt.Println("hello"=="Hello")//false
8. 返回子串在字符串第一次出现的索引值,如果没有返回-1:lndex
//返回子串在字符串第一次出现的索引值,如果没有返回-1 :
fmt.Println(strings.Index("golangandjavaga" ,”ga0"))
9. 字符串的替换:Replace
//strings.Replace("goandjavagogo", "go", "golang", n)
//n可以指定你希望替换几个,如果n=-1表示全部替换,替换两个n就是2
func main(){
//字符串的替换:
str1 := strings.Replace("goandjavagogo","go","golang", -1)
str2 := strings.Replace("goandjavagogo", "go","golang",2)
fmt.Print1n(str1)
fmt .Print1n(str2)
}
结果如下:
10. 按照指定的某个字符,为分割标识,将一个字符串拆分成字符串数组:Split
//按照指定的某个字符,为分割标识,将一个学符串拆分成字符串数组:
arr := strings.Split(" go-python-java", "-")
fmt.Print1n(arr)
11. 将字符串的字母进行大小写的转换
//将字符串的字母进行 大小写的转换:
fmt.Println(strings. ToLower("Go"))
fmt.Println(strings. ToUpper("go"))
12. 将字符串左右两边的空格去掉
//将字符串左右两边的空格去掉:
fmt.Println(strings.TrimSpace(" go and java "))
13. 将字符串左右两边指定的字符去掉
//将字符串左右两边指定的字符去掉:
fmt.Println(strings.Trim("~golang~","~"))
14. 将字符串左边指定的字符去掉
strings.TrimLeft("~golang~", "~")
15. 将字符串右边指定的字符去掉
strings.TrimRight("~golang~", "~")
16. 判断字符串是否以指定的字符串开头
strings.HasPrefix("http://java.sun.com/jsp/jstl/fmt", "http")
17. 判断字符串是否以指定的字符串结束
strings.HasSuffix("demo.png", ".png")