Skip to main content
 首页 » 编程设计

Golang几种连接字符串方法

2022年07月19日125lovecherry

Golang几种连接字符串方法

Golang中字符串是不可变的使用UTF-8编码任意字节链。把一个或多个字符相加称为字符串连接。最简单的方式使用+操作符,本文介绍多种方式连接字符串。

1. 使用加操作符

首先介绍简单使用+操作符:

package main  
   
import "fmt" 
   
func main() {  
    str3 := "hello" 
    str4 := "Golang" 
   
    // Concatenating strings Using + operator  
    result := str3 + "," + str4  
   
    fmt.Println("Result: ", result)  
}  

输出结果:

Result: hello,Golang

既然加操作符可以,那么+=也能实现类似功能:

package main  
   
import "fmt" 
   
func main() {  
   
    // Creating and initializing strings  
    str1 := "Welcome" 
    str2 := " to Golang" 
   
    // Using += operator  
    str1 += str2  
    fmt.Println("String: ", str1)    
}  

输出:

Result: Welcome to Golang

2. 使用bytes.Buffer

使用bytes.Buffer的方法WriterString()连接字符串的字节,从而实现连接字符串的目的。这种方法避免产生不必要的字符串对象,即不需要像使用+那样生成新的字符串对象。

package main  
   
import (  
    "bytes" 
    "fmt" 
)  
   
func main() {  
   
	var b bytes.Buffer 
 
	b.WriteString("你好") 
	b.WriteString(",") 
	b.WriteString("Golang") 
 
	fmt.Println("String: ", b.String()) 
}  

字符串工具类strings也提供了一个封装版本:

	var myString strings.Builder 
	myString.WriteString("Hello ") 
	myString.WriteString("世界") 
 
	fmt.Println(myString.String()) 

3. 使用Sprintf

我们还可以使用Sprintf方法连接字符串:

package main  
   
import "fmt" 
   
func main() {  
   
    // Creating and initializing strings  
    str1 := "Tutorial" 
    str2 := "of" 
    str3 := "GoLang" 
    str4 := "Language" 
   
    // Concatenating strings using   
    // Sprintf() function  
    result := fmt.Sprintf("%s %s %s %s", str1,   
                          str2, str3, str4)  
       
    fmt.Println(result)  
}  

输出为:

Tutorial of GoLang Language 

4. 总结

本文介绍了Golang三种方法连接字符串。最简单是使用操作符,直接操作字符串底层字节效率比较高,Sprintf方法类似字符串模板方法,比较灵活。


本文参考链接:https://blog.csdn.net/neweastsun/article/details/106453302
阅读延展