Comprobación de la igualdad de Slice of bytes en el plegado de mayúsculas y minúsculas de Unicode 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 comparar dos segmentos entre sí sin ningún error, incluso si los elementos de estos segmentos están escritos en diferentes casos (minúsculas y mayúsculas) con la ayuda de EqualFold()función. O, en otro caso, esta función se usa para verificar si los segmentos especificados se interpretan como strings UTF-8 y son iguales en el caso de plegado de Unicode. Esta función devuelve verdadero si los segmentos dados son iguales en el caso de plegamiento de Unicode o devuelve falso si los segmentos dados no son iguales en el caso de plegamiento de Unicode. 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 EqualFold.

Sintaxis:

func EqualFold(slice_1, slice1_2 []byte) bool

El tipo de retorno de esta función es del tipo bool. Discutamos este concepto con la ayuda de los ejemplos:

Ejemplo 1:

// Go program to illustrate how to check
// the given slices are equal or not
package main
  
import (
    "bytes"
    "fmt"
)
  
// Main function
func main() {
  
    // Creating and initializing slices of bytes
    // Using shorthand declaration
    username := []byte{'G', 'E', 'E', 'K', 'S'}
    uinput := []byte{'g', 'e', 'e', 'k', 's'}
  
    // Checking whether the given slices are equal or not
    // Using EqualFold() function
    res := bytes.EqualFold(username, uinput)
  
    // Displaying the result, according
    // to the given condition
    if res == true {
      
        fmt.Println("!..Successfully Matched..!")
    } else {
      
        fmt.Println("!..Not Matched..!")
    }
  
}

Producción:

!..Successfully Matched..!

Ejemplo 2:

// Go program to illustrate how to check
// the given slices are equal or not
package main
  
import (
    "bytes"
    "fmt"
)
  
func main() {
  
    // Creating and initializing slices of bytes
    // Using shorthand declaration
    slice_1 := []byte{'G', 'E', 'E', 'K', 'S', 'F',
             'o', 'r', 'G', 'E', 'E', 'K', 'S'}
  
    slice_2 := []byte{'g', 'e', 'e', 'k', 's', 'f',
             'o', 'r', 'g', 'e', 'e', 'k', 's'}
  
    slice_3 := []byte{'A', 'P', 'P', 'L', 'E'}
  
    // Checking whether the given
    // slices are equal or not
    // Using EqualFold() function
    res1 := bytes.EqualFold(slice_1, slice_2)
    res2 := bytes.EqualFold(slice_2, slice_3)
    res3 := bytes.EqualFold(slice_3, []byte("apple"))
    res4 := bytes.EqualFold([]byte("Geeks"), []byte("GEEks"))
  
    // Displaying results
    fmt.Println("Result_1: ", res1)
    fmt.Println("Result_2: ", res2)
    fmt.Println("Result_3: ", res3)
    fmt.Println("Result_4: ", res4)
  
}

Producción:

Result_1:  true
Result_2:  false
Result_3:  true
Result_4:  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 *