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