字符串操作
var a string a的值是“”,不是nil
a := "hello"
a1 := a[:1] 从头到指定索引
a2 := a[1:4] 从指定索引到指定索引
a3 := a[3:] 从指定索引到结尾
a = "hello" + "world" + "\n" 字符串拼接
fmt.Print(a)
a := "hello"
fmt.Print(utf8.RuneCountInString(a),len(a)) 字符串的长度
a = "hello word"
for i := 0;i < len(a);i ++{ for 字符串会转换为utf8 对应的编码
b := a[i]
fmt.Print(b) 打印 104 101 ...
fmt.Print(string(b)) 打印 h e ... string()为go内置函数
}
for i,b := range a{ range b 为Int32 ,i 为int 下标值
fmt.Print(i,"-",b,"-")
fmt.Print(string(b)) 打印 h e ... string()为go内置函数
}
a := []string{"Hello", "World", "Good"} 合并字符串
fmt.Println(strings.Join(a, " "))
a := "Hello World" 判断(l)在字符串 (a)中最后一次出现的位置,有返回下标值int,否则-1
fmt.Println(strings.LastIndex(str, "l"))
a := "A-" 将 5 个字符串 (a) 合并成一个字符串
fmt.Println(strings.Repeat(a, 5))
a := "Hello World" 替换a中的“l”前三个变成“h”
fmt.Println(strings.Replace(a, "l", "h", 3))
a := "a,b,c,d" 替换a中的“l”前三个变成“h”
fmt.Println(strings.Replace(a, "l", "h", 3))
c := strings.Split("a,b,c",",") 以分隔符“,”,把"a,b,c"分割成切片
fmt.Print(c)
进行string 转换操作,都需要重新分配内存空间,尽量避免大型字符串操作,后续会讲述如何节省string 操作开销
有疑问加站长微信联系(非本文作者)