Golang(Go语言)代码技巧之字符串(string)

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

  • 改变字符串中的某些字符
str := "hello roc"
bytes := []byte(str)
bytes[1] = 'a'
str = string(bytes) //str == "hallo roc"
  • 截取子串
substr := str[n:m] //截取从索引n到m-1的子串
  • 遍历字符串
//for遍历,此方式只能遍历存放ASCII
//编码的字符串,比如中文就不行
for i := 0; i < len(str); i++ {
//... = str[i]
}
//for-range遍历,此方式可以遍历Unicode
//编码的字符串,不担心乱码
for index, char := range str {
fmt.Printf("%d %c\n",index,char)
}
  • 计算字符串长度
//字符串中字符全为ASCII中的字符
len(str)
//字符串中含非ASCII的Unicode字符
utf8.RuneCountInString(str)
  • 连接字符串
    速度最快的写法:
var buf bytes.Buffer
buf.WriteString("hello ")
buf.WriteString("roc")
fmt.Println(buf.String()) //hello roc
    还有如下两种方式:
str := strings.Join([]string{"hello"," world"},"")
fmt.Println(str)
str := "hello"
str += "roc"




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

本文来自:CSDN博客

感谢作者:QQ245671051

查看原文:Golang(Go语言)代码技巧之字符串(string)

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

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