【Go】字符串拼接

在 Go 语言中,常见的字符串拼接方式包括:+拼接、fmt.Sprintf拼接、strings.Join拼接、buffer.Builderbuffer.WriteString拼接和strings.Builder.WriteString拼接。

1. +拼接

import "fmt"  
  
func main() {  
   s1 := "hello"  
   s2 := "word"  
   s3 := s1 + " " + s2  
   fmt.Println(s3)  
}
  • 由于 Go 中字符串是不可变类型,因此拼接过程会产生新字符串,效率较低

2. fmt.Sprintf

import "fmt"  
  
func main() {  
   s1 := "hello"  
   s2 := "word"  
   s3 := fmt.Sprintf("%s %s", s1, s2)  
   fmt.Println(s3)  
}

  • 便于包含数字等要求的字符串拼接,但是效率不是很高

3. strings.Join

import (  
   "fmt"  
   "strings"
)  
  
func main() {  
   s1 := "hello"  
   s2 := "word"  
   var str []string = []string{s1, s2}  
   s3 := strings.Join(str, " ")  
   fmt.Println(s3)  
}
  • 先根据字符串数组的内容计算出拼接后的长度,再申请内存进行字符串的填入

4. buffer.Builderbuffer.WriteString

import (  
   "bytes"  
   "fmt"
)  
  
func main() {  
   s1 := "hello"  
   s2 := "word"  
   var bf bytes.Buffer  
   bf.WriteString(s1)  
   bf.WriteString(" ")  
   bf.WriteString(s2)  
   s3 := bf.String()  
   fmt.Println(s3)  
}

  • 需要引入bytes包,但是效率较高

5. strings.Builder.WriteString

import (  
   "fmt"  
   "strings"
)  
  
func main() {  
   s1 := "hello"  
   s2 := "word"  
   var bd strings.Builder  
   bd.WriteString(s1)  
   bd.WriteString(" ")  
   bd.WriteString(s2)  
   s3 := bd.String()  
   fmt.Println(s3)  
}

  • 效率较高,官方推荐!
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值