English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico do Golang

Comandos de controle do Golang

Funções & métodos do Golang

Estruturas do Golang

Fatias & vetores do Golang

Strings (String) do Golang

Ponteiros do Golang

Interfaces do Golang

Concorrência do Golang

Exceções do Golang (Error)

Miscelâneos do Golang

Divisão de fatias do idioma Go

No fatias de bytes do Go, permite que você useSplit()A função divide o fatia fornecida. Esta função divide a fatia de bytes em todos os sub-fatias separadas pelo delimitador fornecido e retorna uma fatia contendo todas essas sub-fatias. Ela está definida no pacote bytes, portanto, você deve importar o pacote bytes no seu programa para acessar a função Split.

Sintaxe:

func Split(o_slice, sep []byte) [][]byte

Aqui,o_sliceé um pedaço de bytessepÉ um delimitador. SesepSe estiver vazio, ele dividirá em cada UTF-8Divisão após a sequência. Vamos discutir esse conceito com um exemplo fornecido:

Exemplo de divisão de fatias de bytes:

//Método de divisão de pedaços de bytes
package main
import (
    "bytes"
    "fmt"
)
func main() {
    //Criação e inicialização
    //Pedaço de bytes
    //Uso de declarações abreviadas
    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', '"'}
    //Mostrar fatia
    fmt.Println("Fatia original:")
    fmt.Printf("Fatia 1: %s", slice_1)
    fmt.Printf("\nSlice 2: %s", slice_2)
    fmt.Printf("\nSlice 3: %s", slice_3)
    //Dividir fatia de bytes
    //Usar função de divisão
    res1 := bytes.Split(slice_1, []byte("eek"))
    res2 := bytes.Split(slice_2, []byte(""))
    res3 := bytes.Split(slice_3, []byte("%"))
    //Mostrar resultado
    fmt.Printf("\n\nDivisão:")
    fmt.Printf("\nSlice 1: %s", res1)
    fmt.Printf("\nSlice 2: %s", res2)
    fmt.Printf("\nSlice 3: %s", res3)
}

Saída:

Fatia original:
Fatia 1: [!!GeeksforGeeks##]
Fatia 2: A p p l e
Fatia 3: %g%e%e%k%s%
Divisão:
Fatia 1: [!!G sforG s##]
Fatia 2: [A p p l e]
Fatia 3: [g e e k s]

Exemplo de método de divisão de fatias de bytes2:

//Método de divisão de fatias de bytes
package main
import (
    "bytes"
    "fmt"
)
func main() {
    //Criar e dividir
    //Pedaço de bytes
    //Usar função de divisão
    res1 := bytes.Split([]byte("****Bem-vindo, ao, w3codebox****)), []byte(","))
    res2 := bytes.Split([]byte("Aprender x como x cortar x um x pedaço x de x bytes"), []byte("x"))
    res3 := bytes.Split([]byte("w3codebox, Geek
    res4 := bytes.Split([]byte(""), []byte(","))
    //Mostrar resultado
    fmt.Printf("Valor final:\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)
}

Saída:

Valor final:
Fatia 1: [****Bem-vindo ao w3codebox****]
Fatia 2: [Aprender como cortar um pedaço de bytes]
Fatia 3: [n h o o o, G e e k]
Fatia 4: []