Go 言語では、Split() メソッドを使用して文字列を分割します。区切り文字を使用して文字列を部分文字列のリストに分割すると、部分文字列がスライスの形式で返されます。 Split() は strings パッケージのメソッドで、使用する前に strings パッケージをインポートする必要があります。構文は「strings.Split (分割する文字列、区切り文字)」です。
このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。
Go では、Split() 関数 (strings パッケージに含まれています) は区切り文字を使用して文字列を部分文字列のリストに分割します。部分文字列はスライスとして返されます。
#構文
#文字列パッケージをインポートする必要がありますstrings.Split(s, sep)
説明 | 備考 | |
分割する文字列 | 文字列型のパラメータ | |
Separator | 文字型パラメータ |
文字列スライスを返します。
package main import ( "fmt" "strings" ) func main() { demo := "I&love&Go,&and&I&also&love&Python." string_slice := strings.Split(demo, "&") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) }
実行結果は以下の通りです:
result: [I love Go, and I also love Python.] len: 8 cap: 8注意事項
1. 区切り文字が存在しない場合元の文字列の場合元の文字列に区切り文字が存在しない場合、Split() 関数は元の文字列を len 値と cap 値の両方を含む文字列スライスに変換するだけです。 1.
package main import ( "fmt" "strings" ) func main() { demo := "I love Go, and I also love Python." string_slice := strings.Split(demo, "&") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) }
実行結果は次のとおりです:
result: [I love Go, and I also love Python.] len: 1 cap: 1
2. 区切り文字が空の文字列の場合 区切り文字は次のとおりです。 文字列が空の場合、Split() 関数は文字列内の各文字を個別の要素に分割します。
package main import ( "fmt" "strings" ) func main() { demo := "Go" string_slice := strings.Split(demo, "") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) }
実行結果:
result: [G o] len: 2 cap: 2
3. パラメータはすべて空の文字列ですSplit の 2 つのパラメータが() 関数 両方のパラメーターが空の文字列である場合 (つまり、s と sep が両方とも空の文字列である場合)、Split() 関数は、len 値と cap 値の両方が 0 である空の文字列スライスを返します。
package main import ( "fmt" "strings" ) func main() { demo := "" string_slice := strings.Split(demo, "") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) }
実行結果:
result: [] len: 0 cap: 0
4. s が空の文字列で、sep が空の文字列ではない場合 ##前のシナリオとは異なり、この場合、結果は依然として文字列スライスですが、文字列スライスの len 値と cap 値は (前のシナリオのような 0 ではなく) 1 です。返される結果は、空の文字列を含む文字列スライスです。
package main import ( "fmt" "strings" ) func main() { demo := "" string_slice := strings.Split(demo, "*") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) element := string_slice[0] fmt.Printf("string_slice[0]:%s, type:%T, len():%d\n", element, element, len(element),) fmt.Println("element == \"\"?", element == "") }実行結果:
result: [] len: 1 cap: 1 string_slice[0]:, type:string, len():0 element == ""? true5。返された文字列スライスには区切り文字が含まれなくなりました
[関連推奨: Go ビデオ チュートリアル
、プログラミング教育 ]
以上がGo言語でのsplitメソッドの使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。