English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В Go байт-срезы позволяют вам использоватьSplit()Функция разрезает предоставленный срез. Эта функция разрезает байт-срез на все подсрезы, разделенные заданным разделителем, и возвращает срез, содержащий все эти подсрезы. Она определена в пакете bytes, поэтому вам нужно импортировать пакет bytes в вашем приложении, чтобы получить доступ к функции Split.
Синтаксис:
func Split(o_slice, sep []byte) [][]byte
здесь,o_sliceявляется байт-срезом,sepявляется разделителем. ЕслиsepПусто, то оно будет разрываться после каждой 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После, разделения:\n") fmt.Printf("\nSlice 1: %s", res1) fmt.Printf("\nSlice 2: %s", res2) fmt.Printf("\nSlice 3: %s", res3) }
Вывод:
Оригинальный,切片: Slice 1: !!GeeksforGeeks## Slice 2: Apple Slice 3: %g%e%e%k%s% После, разделения: Slice 1: [!!G sforG s##] Slice 2: [A p p l e] Slice 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 x of x 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) }
Вывод:
Значение, результатов, в, конце: Slice 1: [****Добро, пожаловать, в, w3codebox****] Slice 2: [Учимся, как, обрезать, фрагмент, байт] Slice 3: [n h o o o, G e e k] Срез 4: []