大家好,我是加摩斯,觉得文章有帮助的小伙伴,记得一键三连哟~
申明:本系列两天更新一篇,纯原创,转载前请与我沟通。
字符串类型也是一种基本类型,底层使用一个数组存储字符串的值。声明一个字符串类型的变量使用var str string
,字符串的定义和字符元素的获取:
str := "are you ok"
first := str[0]
last := str[len(str)-1]
fmt.Printf("%s, %c, %c", str, first, last)
也支持定义多行字符串,使用`进行修饰,被修饰的内容,转义字符会失效。如:
str := `a
b
c
d
`
fmt.Println(str)
a
b
c
d
字符串不支持修改,编译会报错。字符串是只读有很多好处,比如并发安全,方便共享内存。
如果想要修改一个定义的字符串,可以先将字符串转换为切片,然后修改切片后再转为字符串,此时的字符串是一个新的字符串。
1. 基本操作
字符串支持直接进行比较,支持的比较运算符包含==,!=,<,<=,>=,>,举例如下:
if str1 > str2{
return true
}
字符串的拼接可以直接使用’+’,比如:s := str1 + str2
,也可以使用格式化输出的方式,比如
s := fmt.Sprintf("%s%s", str1, str2)
不同的拼接方式,性能开销是不一样的,在后续章节中将会介绍这一点。
2. 字符串遍历
字符串支持utf-8和unicode两种编码格式,遍历字符串有多种方式,分别如下:
str := "hello, 世界"
fmt.Println(len(str))
for i := range str{
fmt.Println(str[i])
}
for i := 0; i < len(str); i++{
fmt.Println(str[i])
}
for i, c := range str{
fmt.Println(c)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)