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