Programa Golang que elimina elementos duplicados de la array

Las arrays en el lenguaje de programación Golang o Go son muy similares a otros lenguajes de programación. En el programa, a veces necesitamos almacenar una colección de datos del mismo tipo, como una lista de calificaciones de los estudiantes. Este tipo de colección se almacena en un programa usando un Array. Una array es una secuencia de longitud fija que se utiliza para almacenar elementos homogéneos en la memoria. Debido a su array de longitud fija, no son tan populares como el lenguaje Slice in Go.

En una array, puede almacenar cero o más de cero elementos en ella. Los elementos de la array se indexan mediante el uso del operador de índice [] con su posición de base cero, lo que significa que el índice del primer elemento es array[0] y el índice del último elemento es array[len(array)-1] .

Input : [7, 3, 6, 1, 8, 1, 1, 3, 4, 5, 12]
Output : [7, 6, 4, 8, 5, 12]
The elements present more than once, the duplicates are removed

Veamos el programa Golang y entendamos el código:

import "fmt"
func unique(arr []int) []int {

La definición de función que definimos para eliminar elementos duplicados con el parámetro como array de entrada ‘arr’ y devolver una array de tipo ‘[ ]int’

occurred := map[int]bool{}
result:=[]int{}

Aquí creamos una variable de mapa que asignará el tipo de datos int al tipo de datos booleano para cada elemento presente en la array. Creamos una array de ‘resultado’ que almacenará los elementos únicos de los elementos dados y lo devolverá a la función principal

 for e:= range arr {
     if occurred[arr[e]] != true {
     occurred[arr[e]] = true
         result = append(result, arr[e])
     }
  }
return result

Iteramos a través de la array en el bucle for y verificamos si la variable mapeada ocurrió [arr[(variable de bucle)]] es verdadera o no. Inicialmente, ninguna de las variables mapeadas para cada índice es verdadera. Entonces, cuando el elemento se encuentra por primera vez, cambiamos el valor a verdadero y lo agregamos a un   resultado de array. La próxima vez que se encuentren los elementos duplicados, verificará la condición si ocurrió [arr[e]] es verdadero o no, será verdadero como se encontró anteriormente, por lo que el bloque no se ejecuta y los elementos duplicados no se obtienen. anexado a la array de resultados. Finalmente devolvemos la array

func main() {
    array1 := []int{1, 5, 3, 4, 1, 6, 6, 6, 8, 7, 13, 5}
    fmt.Println(array1) 
    unique_items := unique(array1)
    fmt.Println(unique_items)
}

En la función main array1 se inicializa con los valores, luego imprimimos la array inicial y llamamos a la función unique para ejecutar la función anterior y, a su vez, devuelve una array que imprimimos como ‘unique_items’

Go

// Golang Program that Removes Duplicate
// Elements From the Array
package main
 
import "fmt"
 
func unique(arr []int) []int {
    occurred := map[int]bool{}
    result := []int{}
    for e := range arr {
     
        // check if already the mapped
        // variable is set to true or not
        if occurred[arr[e]] != true {
            occurred[arr[e]] = true
             
            // Append to result slice.
            result = append(result, arr[e])
        }
    }
 
    return result
}
 
func main() {
    array1 := []int{1, 5, 3, 4, 1, 6, 6, 6, 8, 7, 13, 5}
    fmt.Println(array1)
    unique_items := unique(array1)
    fmt.Println(unique_items)
}

Producción:

[1 5 3 4 1 6 6 6 8 7 13 5]
[1 5 3 4 6 8 7 13]

Publicación traducida automáticamente

Artículo escrito por dipesh99kumar 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 *