English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Goのバイトスライスでは、以下を使用することができますSplit()この関数は与えられたスライスを分割します。この関数は、与えられた区切り文字で分割されたすべてのサスライスを含むスライスを返します。これはbytesパッケージで定義されていますので、Split関数にアクセスするには、プログラムにbytesパッケージをインポートする必要があります。
文法:
func Split(o_slice, sep []byte) [][]byte
ここでは、o_sliceはバイトスライスの場合、sepは区切り文字です。もしならsep空の場合、UTFの各UTF-8シーケンスの後に分割します。この概念について、提供された例を用いて説明しましょう:
バイトスライス分割の例:
//バイトスライスを分割する方法 package main import ( "bytes" "fmt" ) func main() { //作成および初期化 //字节片 //使用簡略宣言 slice_1 [:= []byte{'!', '!', 'G', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'G', 'e', 'e', 'k', 's', '#', '#'} slice_2 := []byte{'A', 'p', 'p', 'l', 'e'} slice_3 := []byte{'%', 'g', '%', 'e', '%', 'e', '%', 'k', '%', 's', '%'} //显示切片 fmt.Println("原始切片:") fmt.Printf("Slice 1: %s", slice_1) fmt.Printf("\nSlice 2: %s", slice_2) fmt.Printf("\nSlice 3: %s", slice_3) //分割字节片 //使用分割函数 res1 := bytes.Split(slice_1, []byte("eek")) res2 := bytes.Split(slice_2, []byte("")) res3 := bytes.Split(slice_3, []byte("%")) //表示結果 fmt.Printf("\n\n分割后:") fmt.Printf("\nSlice 1: %s", res1) fmt.Printf("\nSlice 2: %s", res2) fmt.Printf("\nSlice 3: %s", res3) }
出力:
原始切片: スライス 1: !!GeeksforGeeks## スライス 2: Apple スライス 3: %g%e%e%k%s% 分割后: スライス 1: [!!G sforG s##] スライス 2: [A p p l e] スライス 3: [ g e e k s ]
分割字节切片的方法示例2:
//分割字节切片的方法 package main import ( "bytes" "fmt" ) func main() { //创建和分割 //字节片 //使用分割函数 res1 := bytes.Split([]byte("****Welcome, to, w3codebox****"), []byte(",")) res2 := bytes.Split([]byte("Learning x how x to x trim x a x slice of bytes"), []byte("x")) res3 := bytes.Split([]byte("w3codebox, Geek"), []byte("")) res4 := bytes.Split([]byte(""), []byte(",")) //表示結果 fmt.Printf("最終結果値:\n") fmt.Printf("\nSlice 1: %s", res1) fmt.Printf("\nSlice 2: %s", res2) fmt.Printf("\nSlice 3: %s", res3) fmt.Printf("\nSlice 4: %s", res4) }
出力:
最終結果値: スライス 1: [****Welcome to w3codebox****] スライス 2: [学習どうやってバイトのスライスをトリミングするか] スライス 3: [n h o o o, G e e k] スライス 4: []