Golang learning 字符串 String

wangyongyue · · 945 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

字符串操作

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


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:wangyongyue

查看原文:Golang learning 字符串 String

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

945 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传