golang-字符串

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

字符串比较相等

func main() {
    fmt.Println("ADN" == "ADN")
    fmt.Println("ADN" == "adn")
    fmt.Println(strings.Compare("ADN", "ADN"))
    fmt.Println(strings.Compare("ADN", "adn"))
    fmt.Println(strings.EqualFold("ADN", "ADN"))
    fmt.Println(strings.EqualFold("ADN", "adn"))
}

Compare比"=="快,两种方法都区分大小写

EqualFold比较UTF-8编码在小写的条件下是否相等,不区分大小写。

字符串拼接

  • fmt.Sprintf 和 strings.Join 速度相当
  • string + 比上述二者快一倍
  • bytes.Buffer又比上者快约400-500倍
  • 如果循环内每次都临时声明一个bytes.Buffer来使用,会比持续存在慢50%,但是仍然很快
func main() {
    var c bytes.Buffer
    a := "ADN" + " so cool"
    b := strings.Join([]string{"ADN", "so", "cool"}, "-")
    c.WriteString("ADN ")
    c.WriteString("so ")
    c.WriteString("cool")
    fmt.Println(a)
    fmt.Println(b)
    fmt.Println(c.String())
}

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

本文来自:简书

感谢作者:ifcoder

查看原文:golang-字符串

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

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