Golang learning 字符串 String

2019-05-13  本文已影响0人  wangyongyue

字符串操作

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 操作开销

上一篇下一篇

猜你喜欢

热点阅读