Go 字符串拼接
最后修改时间 2024 年 4 月 11 日
在本文中,我们将介绍如何在 Golang 中拼接字符串。
要拼接字符串,我们可以使用 + 运算符、fmt.Sprintf 函数和 strings.Join 函数。
使用 + 运算符拼接 Go 字符串
许多编程语言使用 + 运算符来拼接字符串。
main.go
package main
import "fmt"
func main() {
w1 := "old"
w2 := "falcon"
msg := w1 + " " + w2
fmt.Println(msg)
}
示例中拼接了两个单词。我们还在它们之间添加了一个空格符。
$ go run main.go old falcon
使用 fmt.Sprintf 拼接 Go 字符串
fmt.Sprintf 函数根据给定的格式说明符构建字符串并返回结果字符串。
main.go
package main
import "fmt"
func main() {
w1 := "old"
w2 := "falcon"
msg := fmt.Sprintf("%s %s", w1, w2)
fmt.Println(msg)
}
该示例通过拼接两个单词来构建一条消息。
使用 bytes.Buffer 拼接 Go 字符串
bytes.Buffer 是一个可变大小的字节缓冲区,具有 Read 和 Write 方法。
main.go
package main
import (
"bytes"
"fmt"
)
func main() {
var buf bytes.Buffer
buf.WriteString("an ")
buf.WriteString("old ")
buf.WriteString("falcon")
fmt.Println(buf.String())
}
在示例中,我们将字符串写入 bytes 缓冲区,然后使用 WriteString 函数将字节转换为最终字符串,再使用 String 函数。
$ go run main.go an old falcon
Go strings.Join
strings.Join 函数将切片/数组的字符串元素连接成一个字符串。分隔符字符串放在结果字符串的元素之间。
fmt_funs.go
package main
import (
"fmt"
"strings"
)
func main() {
words := []string{"an", "old", "falcon"}
msg := strings.Join(words, " ")
fmt.Println(msg)
}
我们有一个单词切片。我们使用 strings.Join 将它们连接起来,并使用单个空格作为分隔符。
Go String 函数
当一个对象的 String 函数被传递给任何打印函数时,它就会被调用。它通常用于显示对象的易于理解的表示。
main.go
package main
import (
"fmt"
)
type User struct {
Name string
Occupation string
}
func (u User) String() string {
return fmt.Sprintf("%s is a(n) %s", u.Name, u.Occupation)
}
func main() {
u1 := User{"John Doe", "gardener"}
u2 := User{"Roger Roe", "driver"}
fmt.Println(u1)
fmt.Println(u2)
}
在示例中,我们使用 fmt.Sprintf 函数来生成 User 类型的输出。
$ go run main.go John Doe is a(n) gardener Roger Roe is a(n) driver
来源
The Go Programming Language Specification
在本文中,我们介绍了如何在 Golang 中拼接字符串。