¿Cómo reemplazar todos los elementos en una porción de bytes 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 de Go, se le permite reemplazar todos los elementos en el segmento dado usando el método ReplaceAll()funciones Esta función se utiliza para reemplazar todos los elementos del segmento anterior con un segmento nuevo. Si el segmento anterior dado está vacío, entonces coincide al comienzo del segmento y, después de cada secuencia UTF-8, produce hasta m+1 reemplazo para la string m-rune. 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 Repetir todo.

Sintaxis:

func ReplaceAll(ori_slice, old_slice, new_slice []byte) []byte

Aquí, ori_slice es el segmento original de bytes, old_slice es el segmento que desea reemplazar y new_slice es el nuevo segmento que reemplaza al old_slice .

Ejemplo 1:

// Go program to illustrate how to replace all
// the specified elements of the slice of bytes
package main
  
import (
    "bytes"
    "fmt"
)
  
// Main function
func main() {
  
    // Creating and initializing
    // the slice of bytes
    // Using shorthand declaration
    slice_1 := []byte{'G', 'G', 'G', 'E',
       'E', 'E', 'E', 'K', 'S', 'S', 'S'}
      
    slice_2 := []byte{'A', 'A', 'P', 
           'P', 'P', 'L', 'E', 'E'}
  
    // Displaying slices
    fmt.Println("Original slice:")
    fmt.Printf("Slice 1: %s", slice_1)
    fmt.Printf("\nSlice 2: %s", slice_2)
  
    // Replacing the element 
    // of the given slices
    // Using ReplaceAll function
    res1 := bytes.ReplaceAll(slice_1, []byte("E"), []byte("e"))
    res2 := bytes.ReplaceAll(slice_2, []byte("P"), []byte("p"))
  
    // Display the results
    fmt.Printf("\n\nNew Slice:")
    fmt.Printf("\nSlice 1: %s", res1)
    fmt.Printf("\nSlice 2: %s", res2)
}

Producción:

Original slice:
Slice 1: GGGEEEEKSSS
Slice 2: AAPPPLEE

New Slice:
Slice 1: GGGeeeeKSSS
Slice 2: AApppLEE

Ejemplo 2:

// Go program to illustrate how to replace all
// the specified elements from the given
// slice of bytes
package main
  
import (
    "bytes"
    "fmt"
)
  
// Main function
func main() {
  
    // Replacing the element
    // of the given slices
    // Using ReplaceAll function
    res1 := bytes.ReplaceAll([]byte("GeeksforGeeks, Geeks, Geeks"), []byte("eks"), []byte("EKS"))
    res2 := bytes.ReplaceAll([]byte("Hello! i am Puppy, Puppy, Puppy"), []byte("upp"), []byte("ISL"))
    res3 := bytes.ReplaceAll([]byte("GFG, GFG, GFG"), []byte("GFG"), []byte("geeks"))
    res4 := bytes.ReplaceAll([]byte("I like like icecream"), []byte("like"), []byte("love"))
  
    // Display the results
    fmt.Printf("Result 1: %s", res1)
    fmt.Printf("\nResult 2: %s", res2)
    fmt.Printf("\nResult 3: %s", res3)
    fmt.Printf("\nResult 4: %s", res4)
}

Producción:

Result 1: GeEKSforGeEKS, GeEKS, GeEKS
Result 2: Hello! i am PISLy, PISLy, PISLy
Result 3: geeks, geeks, geeks
Result 4: I love love icecream

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 *