Rumah > Artikel > pembangunan bahagian belakang > Cara menggabungkan rentetan dalam bahasa Go
Cara menyambung rentetan: 1. Gunakan tanda "+" untuk menyambung, sintaks "str = str1 + str2" 2. Gunakan fungsi sprintf() bagi pakej fmt untuk menyambung, sintaks "; str = fmt.Sprintf( "%s%d%s", s1, i, s2)"; 3. Gunakan fungsi join untuk sambung; 4. Gunakan fungsi WriteString() pakej penimbal untuk sambung; 5. Gunakan fungsi Builder() pakej penimbal untuk disambungkan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.
Bahasa Go mempunyai lima kaedah untuk penyambungan rentetan, iaitu: penyambungan dengan tanda +, penyambungan dengan sprintf, penyambungan dengan fungsi penyambung, penyambungan dengan fungsi penampan.WriteString dan penyambungan dengan penimbal.Pembina.
Kaedah 1: Gunakan tanda +
untuk menyambung
str = str1 + str2
Gunakan + untuk menyambung rentetan, gunakan tanda + untuk menyambung aksara Premis rentetan ialah semua yang hendak disambung mestilah daripada jenis rentetan. Di sini, kami menggunakan tanda tambah untuk menggabungkan str1 dan str2 ke dalam rentetan str.
Contoh:
package main import ( "fmt" ) func main() { //使用+号形式,实现拼接字符串 str1 := "Hello," str2 := "HaiCoder" strHaiCoder := str1 + str2 fmt.Println("strHaiCoder =", strHaiCoder) }
Analisis:
Pertama, kita takrifkan Pembolehubah rentetan ditakrifkan dan nilainya ialah "Hello," dan kemudian pembolehubah rentetan ditakrifkan dan nilainya ialah "HaiCoder". Kami menggunakan tanda + untuk menyambung rentetan str1 dan rentetan str2, dan menetapkan hasil penyambungan kepada pembolehubah strHaiCoder.
Akhir sekali, kami menggunakan fungsi print() untuk mencetak pembolehubah strHaiCoder dan mendapati bahawa "Hello, HaiCoder" adalah output, iaitu, kami menyedari penggabungan rentetan melalui tanda +.
Kaedah 2: Gunakan sprintf untuk menyambung
str = fmt.Sprintf("%s%d%s", s1, i, s2)
Gunakan sprintf untuk menyambung rentetan untuk mencapai sebarang jenis data Penyambungan, di sini, kami telah menyambung rentetan s1, integer i dan rentetan s2 bersama-sama.
Contoh:
package main import ( "fmt" ) func main() { //使用 sprintf,实现拼接字符串和数字 str1 := "Hello," str2 := "HaiCoder" strHaiCoder := fmt.Sprintf("%s %d %s", str1, 1024, str2) fmt.Println("strHaiCoder =", strHaiCoder) }
Analisis:
Pertama, kita takrifkan Pembolehubah rentetan ditakrifkan dan nilainya ialah "Hello," dan kemudian pembolehubah rentetan ditakrifkan dan nilainya ialah "HaiCoder".
Kami menggunakan fmt.Sprintf untuk menyambung rentetan str1, nombor 1024 dan rentetan str2, dan menetapkan hasil penyambungan kepada pembolehubah strHaiCoder.
Akhir sekali, kami menggunakan fungsi print() untuk mencetak pembolehubah strHaiCoder dan mendapati bahawa "Hello, 1024 HaiCoder" adalah output, iaitu, kami melaksanakan penyambungan rentetan melalui fmt.Sprintf.
Kaedah 3: Gunakan fungsi gabungan untuk menyambung
var str []string = []string{s1, s2} s := strings.Join(str, "")
Gunakan Join untuk menyambung rentetan, yang sebenarnya bermakna Tatasusunan rentetan disambungkan Di sini, kami telah menyatukan semua elemen dalam tatasusunan rentetan str.
Contoh:
package main import ( "fmt" "strings" ) func main() { //使用 join 函数,实现拼接字符串 str1 := "Hello," str2 := "HaiCoder" var str = []string{str1, str2} strHaiCoder := strings.Join(str, "") fmt.Println("strHaiCoder =", strHaiCoder) }
Analisis:
Pertama, kita takrifkan Pembolehubah rentetan ditakrifkan dan nilainya ialah "Hello," dan kemudian pembolehubah rentetan ditakrifkan dan nilainya ialah "HaiCoder".
Seterusnya, kami menggunakan pembolehubah str1 dan pembolehubah str2 untuk menentukan tatasusunan rentetan Akhir sekali, kami menggunakan rentetan. Sertai untuk menyambung rentetan str1 dan rentetan str2, dan Tetapkan hasil penyambungan kepada pembolehubah. strHaiCoder.
Akhir sekali, kami menggunakan fungsi print() untuk mencetak pembolehubah strHaiCoder dan mendapati bahawa "Hello, HaiCoder" adalah output, iaitu, kami melaksanakan penyambungan rentetan melalui rentetan.Sertai.
Kaedah 4: Gunakan fungsi buffer.WriteString untuk menyambung
var bt bytes.Buffer bt.WriteString(s1) bt.WriteString(s2) //获得拼接后的字符串 s3 := bt.String()
Gunakan buffer.WriteString untuk menyambung rentetan Prestasinya jauh lebih besar daripada kaedah di atas, jadi tidak disyorkan untuk digunakan Di sini, kami telah menyambung rentetan s1 dan s2, dan menetapkan nilai kepada rentetan s3 selepas penyambungan.
Contoh:
package main import ( "bytes" "fmt" ) func main() { //使用 buffer.WriteString 函数拼接字符串 str1 := "Hello," str2 := "HaiCoder" var bt bytes.Buffer bt.WriteString(str1) bt.WriteString(str2) strHaiCoder := bt.String() fmt.Println("strHaiCoder =", strHaiCoder) }
Analisis:
Pertama, kita takrifkan Pembolehubah rentetan ditakrifkan, diberikan nilai "Hello,", pembolehubah rentetan lain ditakrifkan, nilai diberikan "HaiCoder", dan kemudian pembolehubah bt bagi bait.Jenis Penampan ditentukan.
Kami menggunakan kaedah WriteString bait.Penimbal untuk menulis pembolehubah str1 dan pembolehubah str2 ke dalam pembolehubah bt Akhir sekali, kami menggunakan kaedah String bait.Penimbal untuk merealisasikan rentetan str1 dan Rentetan str2 disambung, dan hasil penyambungan diberikan kepada pembolehubah strHaiCoder.
Kaedah 5: Gunakan penimbal.Pembina untuk menyambung
var build strings.Builder build.WriteString(s1) build.WriteString(s2) s3 := build.String()
这是官方推荐使用的字符串拼接方法,这里,我们实现了拼接了字符串 s1 和 s2,拼接后赋值给字符串 s3。
示例:
package main import ( "fmt" "strings" ) func main() { //使用 buffer.Builder 函数拼接字符串 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 方法,实现了把字符串 str1 和 字符串 str2 进行了拼接,并把拼接结果赋值给变量 strHaiCoder。
Atas ialah kandungan terperinci Cara menggabungkan rentetan dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!