字符串的创建
str := "HelloWorld"
获取字符串长度
通过内置len函数获取字符串长度
str := "cooper"
fmt.Printf("字符串的长度是%d\n", len(str))
输出:字符串的长度是6
需要注意的是,内置len函数用在字符串上其实是获取了字符串占用的字节数,对于英文字符来说一个字符占一个字节,因此英文字符串可以使用内置len函数获取长度。到那时对于中文字符来说,就不能使用len函数获取字符串长度了,因为一个中文字符不只是占用一个字节。保险起见,建议大家使用下面两种方法获取字符串长度。
通过string包的Count函数获取字符串长度
这个函数原本的用途是获取第二个字符串在第一个字符串中出现的(非重叠)次数的。用在空字符串上可以获得两个字符之间间隙的个数,间隙的个数+1就是字符串的长度。
str := "cooper"
fmt.Printf("字符串的长度是%d\n", strings.Count(str, "") + 1)
输出:字符串的长度是6
通过utf8包的CountRuneInString函数获取字符串长度
utf8包的路径是$GOROOT/src/unicode/utf8
str := "Cooper"
fmt.Printf("字符串的长度是%d\n", uft8.CountRuneInString(str))
输出:字符串的长度是6
字符串分割
通过strings.Split()函数分割字符串
strings.Split(str, sep)函数的第一个参数是待分割的字符串,第二个参数是分隔符(类型也是字符串)。
str := "hello world"
slice := strings.Split(str, " ")
fmt.Println(slice)
输出:[hello world]
通过strings.Fields()函数分割字符串
strings.Fields(str)函数默认以空格作为分隔符进行分割,并返回字符串切片。因此strings.Split(str, " ")跟strings.Fields(str)的效果是一样的。
str := "hello world"
slice := strings.Fields(str)
fmt.Println(slice)
输出:[hello world]
字符串转数字
字符串遍历