拼接字符串的方法:1、使用“+”號拼接,語法“str = str1 + str2”;2、利用fmt包的sprintf()函數(shù)拼接,語法“str = fmt.Sprintf("%s%d%s", s1, i, s2)”;3、使用join函數(shù)拼接;4、利用buffer包的WriteString()函數(shù)拼接;5、利用buffer包的Builder()函數(shù)拼接。
本教程操作環(huán)境:windows7系統(tǒng)、GO 1.18版本、Dell G3電腦。
Go 語言 拼接 字符串 有五種方法,分別是:使用+號拼接、使用 sprintf 拼接、使用 join 函數(shù) 拼接、使用 buffer.WriteString 函數(shù)拼接、使用 buffer.Builder 拼接。
方法1:使用 +
號拼接
str = str1 + str2
-
使用 + 可以實現(xiàn)字符串的拼接,使用 + 號拼接字符串的前提是要拼接的必須全是字符串類型。這里,我們使用加號,實現(xiàn)了將 str1 和 str2 拼接成了字符串 str。
示例:
package main import ( "fmt" ) func main() { //使用+號形式,實現(xiàn)拼接字符串 str1 := "Hello," str2 := "HaiCoder" strHaiCoder := str1 + str2 fmt.Println("strHaiCoder =", strHaiCoder) }
分析:
-
首先,我們定義了一個字符串 變量,賦值為 “Hello,”,接著又定義了一個字符串變量,賦值為 “HaiCoder”。我們使用 + 號的形式,實現(xiàn)了把字符串 str1 和 字符串 str2 進(jìn)行了拼接,并把拼接結(jié)果賦值給變量 strHaiCoder。
-
最后,我們使用 print() 函數(shù),打印變量 strHaiCoder,發(fā)現(xiàn)輸出了 “Hello,HaiCoder”,即我們通過 + 號實現(xiàn)了字符串的拼接。
方法2:使用 sprintf 拼接
str = fmt.Sprintf("%s%d%s", s1, i, s2)
-
使用 sprintf 拼接字符串,可以實現(xiàn)任意 數(shù)據(jù)類型 的拼接,這里,我們實現(xiàn)了將字符串 s1、整型 i 和字符串 s2 拼接在了一起。
示例:
package main import ( "fmt" ) func main() { //使用 sprintf,實現(xiàn)拼接字符串和數(shù)字 str1 := "Hello," str2 := "HaiCoder" strHaiCoder := fmt.Sprintf("%s %d %s", str1, 1024, str2) fmt.Println("strHaiCoder =", strHaiCoder) }
分析:
-
首先,我們定義了一個字符串變量,賦值為 “Hello,”,接著又定義了一個字符串變量,賦值為 “HaiCoder”。
-
我們使用 fmt.Sprintf,實現(xiàn)了把字符串 str1,數(shù)字 1024 和 字符串 str2 進(jìn)行了拼接,并把拼接結(jié)果賦值給變量 strHaiCoder。
-
最后,我們使用 print() 函數(shù),打印變量 strHaiCoder,發(fā)現(xiàn)輸出了 “Hello, 1024 HaiCoder”,即我們通過 fmt.Sprintf 實現(xiàn)了字符串的拼接。
方法3:使用 join 函數(shù) 拼接
var str []string = []string{s1, s2} s := strings.Join(str, "")
-
使用 Join 拼接字符串,實際上是將字符串?dāng)?shù)組連接起來,這里,我們實現(xiàn)了將字符串?dāng)?shù)組 str 里面的所有元素拼接在了一起。
示例:
package main import ( "fmt" "strings" ) func main() { //使用 join 函數(shù),實現(xiàn)拼接字符串 str1 := "Hello," str2 := "HaiCoder" var str = []string{str1, str2} strHaiCoder := strings.Join(str, "") fmt.Println("strHaiCoder =", strHaiCoder) }
分析:
-
首先,我們定義了一個字符串 變量,賦值為 “Hello,”,接著又定義了一個字符串變量,賦值為 “HaiCoder”。
-
接著,我們使用變量 str1 和變量 str2 定義一個字符串?dāng)?shù)組,最后,我們使用 strings.Join,實現(xiàn)了把字符串 str1 和 字符串 str2 進(jìn)行了拼接,并把拼接結(jié)果賦值給變量 strHaiCoder。
-
最后,我們使用 print() 函數(shù),打印變量 strHaiCoder,發(fā)現(xiàn)輸出了 “Hello,HaiCoder”,即我們通過 strings.Join 實現(xiàn)了字符串的拼接。
方法4:使用 buffer.WriteString 函數(shù)拼接
var bt bytes.Buffer bt.WriteString(s1) bt.WriteString(s2) //獲得拼接后的字符串 s3 := bt.String()
-
使用 buffer.WriteString 拼接字符串的性能要遠(yuǎn)遠(yuǎn)大于上面的幾種方式,因此不建議使用,這里,我們實現(xiàn)了拼接了字符串 s1 和 s2,拼接后賦值給字符串 s3。
示例:
package main import ( "bytes" "fmt" ) func main() { //使用 buffer.WriteString 函數(shù)拼接字符串 str1 := "Hello," str2 := "HaiCoder" var bt bytes.Buffer bt.WriteString(str1) bt.WriteString(str2) strHaiCoder := bt.String() fmt.Println("strHaiCoder =", strHaiCoder) }
分析:
-
首先,我們定義了一個字符串變量,賦值為 “Hello,”,定義了另一個字符串變量,賦值為 “HaiCoder”,接著又定義了一個 bytes.Buffer 類型的變量 bt。
-
我們使用 bytes.Buffer 的 WriteString 方法,將變量 str1 和變量 str2 寫入 bt 變量,最后,我們使用 bytes.Buffer 的 String 方法,實現(xiàn)了把字符串 str1 和 字符串 str2 進(jìn)行了拼接,并把拼接結(jié)果賦值給變量 strHaiCoder。
方法5:使用 buffer.Builder 拼接
var build strings.Builder build.WriteString(s1) build.WriteString(s2) s3 := build.String()
-
這是官方推薦使用的字符串拼接方法,這里,我們實現(xiàn)了拼接了字符串 s1 和 s2,拼接后賦值給字符串 s3。
示例:
package main import ( "fmt" "strings" ) func main() { //使用 buffer.Builder 函數(shù)拼接字符串 str1 := "Hello," str2 := "HaiCoder" var build strings.Builder build.WriteString(str1) build.WriteString(str2) strHaiCoder := build.String() fmt.Println("strHaiCoder =", strHaiCoder) }
分析:
-
首先,我們定義了一個字符串變量,賦值為 “Hello,”,定義了另一個字符串變量,賦值為 “HaiCoder”,接著又定義了一個 strings.Builder 類型的變量 build。
-
我們使用 strings.Builder 的 WriteString 方法,將變量 str1 和變量 str2 寫入 build 變量,最后,我們使用 strings.Builder 的 String 方法,實現(xiàn)了把字符串 str1 和 字符串 str2 進(jìn)行了拼接,并把拼接結(jié)果賦值給變量 strHaiCoder。
【