文字列を結合する方法: 1. " " 記号を使用して結合します (構文 "str = str1 str2"); 2. fmt パッケージの sprintf() 関数を使用して結合します (構文 "str = fmt.Sprintf("% s%d%s", s1, i, s2)"; 3. join 関数を使用して結合します。 4. バッファ パッケージの WriteString() 関数を使用して結合します。 5. バッファを使用します。パッケージの Builder() 関数を結合します。
このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。
Go 言語には、文字列を結合するための 5 つの方法があります。つまり、number を使用した結合、sprintf を使用した結合、join 関数を使用した結合、buffer.WriteString 関数を使用した結合、およびbuffer.Builder を使用した結合です。
方法 1:
数値を使用して結合します。
str = str1 + str2
文字列の結合を実現するために使用し、文字列の結合に数値を使用します。前提として、接合されるものはすべて文字列型でなければなりません。ここでは、プラス記号を使用して str1 と str2 を文字列 str に連結します。
例:
package main import ( "fmt" ) func main() { //使用+号形式,实现拼接字符串 str1 := "Hello," str2 := "HaiCoder" strHaiCoder := str1 + str2 fmt.Println("strHaiCoder =", strHaiCoder) }
分析:
まず、文字列変数に値「Hello」が割り当てられ、次に文字列変数が定義され、その値は「HaiCoder」になります。記号の形式を使用して文字列 str1 と文字列 str2 を結合し、結合結果を変数 strHaiCoder に代入します。
最後に、print() 関数を使用して変数 strHaiCoder を出力すると、「Hello, HaiCoder」が出力されることがわかります。つまり、数値による文字列の結合がわかります。
方法 2: sprintf を使用して文字列を結合します。
str = fmt.Sprintf("%s%d%s", s1, i, s2)
sprintf を使用して文字列を結合します。任意のデータ型を結合できます。 , ここでは、文字列 s1、整数 i、文字列 s2 を結合しています。
例:
package main import ( "fmt" ) func main() { //使用 sprintf,实现拼接字符串和数字 str1 := "Hello," str2 := "HaiCoder" strHaiCoder := fmt.Sprintf("%s %d %s", str1, 1024, str2) fmt.Println("strHaiCoder =", strHaiCoder) }
分析:
まず、文字列変数に値「Hello」が割り当てられ、次に文字列変数が定義され、その値は「HaiCoder」になります。
fmt.Sprintf を使用して、文字列 str1、数値 1024、および文字列 str2 を結合し、結合結果を変数 strHaiCoder に代入します。
最後に、print() 関数を使用して変数 strHaiCoder を出力すると、「Hello, 1024 HaiCoder」が出力されることがわかります。つまり、fmt.Sprintf を介して文字列のスプライシングを実装します。
方法 3: join 関数を使用して結合する
var str []string = []string{s1, s2} s := strings.Join(str, "")
Join を使用して文字列を結合します (実際には文字列を意味します)。配列は接続されています。ここでは、文字列配列 str 内のすべての要素を結合しています。
例:
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) }
分析:
まず、文字列変数に値「Hello」が割り当てられ、次に文字列変数が定義され、その値は「HaiCoder」になります。
次に、変数 str1 と変数 str2 を使用して文字列配列を定義します。最後に、strings.Join を使用して文字列 str1 と文字列 str2 を結合し、結合結果を変数に代入します。 strHaiCoder。
最後に、print() 関数を使用して変数 strHaiCoder を出力すると、「Hello, HaiCoder」が出力されることがわかります。つまり、strings.Join を介して文字列のスプライシングを実装します。
方法 4:buffer.WriteString 関数を使用して結合する
var bt bytes.Buffer bt.WriteString(s1) bt.WriteString(s2) //获得拼接后的字符串 s3 := bt.String()
buffer.WriteString を使用する場合のパフォーマンス要件文字列を結合する 上記の方法よりもはるかに大きいため、使用することはお勧めできませんが、ここでは文字列 s1 と s2 を結合し、結合後の文字列 s3 に値を代入しています。
例:
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) }
分析:
まず、文字列変数には値「Hello」が割り当てられ、値が「HaiCoder」である別の文字列変数が定義され、次に bytes.Buffer 型の変数 bt が定義されます。
bytes.Buffer の WriteString メソッドを使用して、変数 str1 と変数 str2 を bt 変数に書き込みます。最後に、bytes.Buffer の String メソッドを使用して文字列 str1 を実現します。文字列 str2 が結合され、結合結果が変数 strHaiCoder に代入されます。
方法 5:buffer.Builder を使用して結合する
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。
以上がGo言語で文字列を連結する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。