Compruebe si el segmento de bytes comienza con el prefijo especificado en Golang

El segmento de lenguaje de Go es más poderoso, flexible y conveniente que una array y es una estructura de datos liviana. El segmento es una secuencia de longitud variable que almacena elementos de un tipo similar, no está permitido almacenar diferentes tipos de elementos en el mismo segmento.
En el segmento de bytes Go, puede verificar si el segmento dado comienza con el prefijo especificado o no con la ayuda de la función HasPrefix() . Esta función devuelve verdadero si el segmento dado comienza con el prefijo especificado o devuelve falso si el segmento dado no comienza con el prefijo especificado. Se define en el paquete de bytes, por lo que debe importar el paquete de bytes en su programa para acceder a la función HasPrefix.

Sintaxis:

func HasPrefix(slice_1, pre []byte) bool

Aquí, slice_1 es el segmento original de bytes y pre es el prefijo que también es un segmento de bytes. El tipo de retorno de esta función es del tipo bool. Analicemos este concepto con la ayuda de un ejemplo:

Ejemplo:

// Go program to illustrate how to check the
// given slice starts with the specified prefix
package main
  
import (
    "bytes"
    "fmt"
)
  
func main() {
  
    // Creating and initializing
    // slice of bytes
    // Using shorthand declaration
    slice_1 := []byte{'G', 'E', 'E', 'K', 'S', 'F',
                 'o', 'r', 'G', 'E', 'E', 'K', 'S'}
      
    slice_2 := []byte{'A', 'P', 'P', 'L', 'E'}
  
    // Checking whether the given slice starts 
    // with the specified prefix or not
    // Using  HasPrefix () function
    res1 := bytes.HasPrefix(slice_1, []byte("G"))
    res2 := bytes.HasPrefix(slice_2, []byte("O"))
    res3 := bytes.HasPrefix([]byte("Hello! I am Apple."), []byte("Hello"))
    res4 := bytes.HasPrefix([]byte("Hello! I am Apple."), []byte("Welcome"))
    res5 := bytes.HasPrefix([]byte("Hello! I am Apple."), []byte("H"))
    res6 := bytes.HasPrefix([]byte("Hello! I am Apple."), []byte("X"))
    res7 := bytes.HasPrefix([]byte("Geeks"), []byte(""))
  
    // Displaying results
    fmt.Println("Result_1: ", res1)
    fmt.Println("Result_2: ", res2)
    fmt.Println("Result_3: ", res3)
    fmt.Println("Result_4: ", res4)
    fmt.Println("Result_5: ", res5)
    fmt.Println("Result_6: ", res6)
    fmt.Println("Result_7: ", res7)
  
}

Producción:

Result_1:  true
Result_2:  false
Result_3:  true
Result_4:  false
Result_5:  true
Result_6:  false
Result_7:  true

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *