【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)  
}

  • 效率较高,官方推荐!

猜你喜欢

转载自blog.csdn.net/zzy_NIC/article/details/128086600