package main import ( "bytes" "fmt" "strings" ) func main() { // ========== 使用加号拼接字符串 ========== // str1 := "hello" + ", " + "world" fmt.Println(str1) // hello, world // ========== 使用fmt.Sprintf()拼接字符串 ========== // str2 := fmt.Sprintf("%s%s%s", "hello", ", ", "world") fmt.Println(str2) // hello, world // ========== 使用[]byte拼接字符串 ========== // var slice []byte slice = append(slice, "hello"...) // 字符串后面加三个小数点是固定用法 slice = append(slice, ", "...) // 字符串后面加三个小数点是固定用法 slice = append(slice, "world"...) // 字符串后面加三个小数点是固定用法 str3 := string(slice) fmt.Println(str3) // hello, world // ========== 使用strings.Join()拼接字符串 ========== // ss := []string{"hello", ", ", "world"} str4 := strings.Join(ss, "") fmt.Println(str4) // hello, world // ========== 使用bytes.Buffer对象拼接字符串 ========== // buffer := bytes.Buffer{} buffer.WriteString("hello") buffer.WriteString(", ") buffer.WriteString("world") str5 := buffer.String() fmt.Println(str5) // hello, world // ========== 使用strings.Builder对象拼接字符串【官方推荐】 ========== // builder := strings.Builder{} builder.WriteString("hello") builder.WriteString(", ") builder.WriteString("world") str6 := builder.String() fmt.Println(str6) // hello, world } // ========== 总结 ========== // // 1、虽然拼接字符串有多种方式,但官方推荐使用strings.Builder,因为在大多数情况下这种方式性能是最好的。
Copyright © 2024 码农人生. All Rights Reserved