Go 添加字符串
最后修改时间 2024 年 4 月 11 日
在本文中,我们将展示如何在 Golang 中连接字符串。
在 Go 中,字符串是只读字节切片。
在 Go 中添加字符串有几种方法
- + 和 += 运算符
- strings.Join 方法
- 字符串格式化
- strings.Builder
- bytes.Buffer
- 追加到字节切片
使用 + 运算符在 Go 中添加字符串
+ 和 += 运算符提供了连接字符串最简单的方法。+ 运算符既用于加数字,也用于加字符串;在编程中,我们称该运算符被重载了。
package main
import "fmt"
func main() {
w1 := "an"
w2 := " old"
w3 := " falcon"
msg := w1 + w2 + w3
fmt.Println(msg)
}
使用 + 运算符添加两个字符串。
$ go run addoper.go an old falcon
在第二个示例中,我们使用了复合加法运算符。
package main
import "fmt"
func main() {
msg := "There are"
msg += " three falcons"
msg += " in the sky"
fmt.Println(msg)
}
该示例使用 += 运算符构建消息。
$ go run addoper2.go There are three falcons in the sky
使用 strings.Join 在 Go 中添加字符串
string.Join 方法将切片中的元素连接起来,创建一个单个字符串。第二个参数是分隔符,它将被放置在结果字符串的元素之间。
package main
import (
"fmt"
"strings"
)
func main() {
s := []string{"There", "are", "two", "owls", "on", "the", "tree", "\n"}
fmt.Printf(strings.Join(s, " "))
}
在代码示例中,我们通过连接多个单词来形成一条消息。单词之间用一个空格字符分隔。
$ go run joining.go There are two owls on the tree
使用字符串格式化在 Go 中添加字符串
可以使用 Go 的字符串格式化函数来连接字符串:fmt.Sprint、fmt.Sprintln 和 fmt.Sprintf。
package main
import "fmt"
func main() {
w1 := "an"
w2 := "old"
w3 := "falcon"
msg := fmt.Sprintf("%s %s %s", w1, w2, w3)
fmt.Println(msg)
}
我们使用 fmt.Sprintf 函数连接三个单词。
$ go run string_format.go an old falcon
使用 strings.Builder 在 Go 中添加字符串
strings.Builder 用于使用 Write 方法高效地构建字符串。
package main
import (
"fmt"
"strings"
)
func main() {
var builder strings.Builder
builder.WriteString("There")
builder.WriteString(" are")
builder.WriteString(" two")
builder.WriteString(" falcons")
builder.WriteString(" in")
builder.WriteString(" the")
builder.WriteString(" sky")
fmt.Println(builder.String())
}
该示例使用 strings.Builder 构建字符串。
builder.WriteString("There")
使用 WriteString 添加新字符串。
fmt.Println(builder.String())
String 返回累积的字符串。
使用 bytes.Buffer 在 Go 中添加字符串
Buffer 是一个具有 Read 和 Write 方法的可变大小的字节缓冲区。
package main
import (
"bytes"
"fmt"
)
func main() {
var buffer bytes.Buffer
buffer.WriteString("a")
buffer.WriteString(" beautiful")
buffer.WriteString(" day")
fmt.Println(buffer.String())
}
WriteString 方法将给定字符串的内容追加到缓冲区,并根据需要增长缓冲区。
fmt.Println(buffer.String())
String 方法将缓冲区未读取部分的内容作为字符串返回。
使用字节切片在 Go 中添加字符串
下面的示例使用字节切片连接字符串。
package main
import (
"fmt"
)
func main() {
var s1 = "an"
var s2 = " old"
var s3 = " falcon"
msg := make([]byte, 0)
msg = append(msg, []byte(s1)...)
msg = append(msg, []byte(s2)...)
msg = append(msg, []byte(s3)...)
fmt.Println(string(msg))
}
该示例添加了三个字符串。
msg := make([]byte, 0)
使用 make 函数创建了一个新的字节切片。
msg = append(msg, []byte(s1)...)
我们使用 byte 将字符串转换为字节切片,并使用 append 将其追加到 msg 切片。
fmt.Println(string(msg))
最后,我们使用 string 将字节切片转换为字符串。
来源
在本文中,我们展示了如何在 Golang 中添加字符串。