Set di golang

Set di golang
Se provi da un linguaggio di programmazione, come Python, hai familiarità con il concetto di set.

Un set si riferisce a una raccolta di articoli non ordinati. I set sono univoci e non consentono valori duplicati in una singola voce.

Se lavori con la programmazione Go, ti rendi rapidamente conto che non ci sono set di concetti. Tuttavia, possiamo giocare alcuni trucchi con mappe e strutture per creare un set.

Golang Crea set

Fondamentalmente, i set sono una raccolta di valori unici. Possiamo usare una mappa con una struttura vuota per rappresentarli.

Possiamo esprimere questa sintassi come:

var myset map [type] struct

Poiché una struttura vuota prende 0 byte, il set è un metodo molto efficiente per implementare un set.

Il seguente esempio crea un set semplice utilizzando la sintassi precedente.

Pacchetto principale
tipo vuoto struct
Var Member vuoto
func main ()
Set: = make (mappa [string] void)

L'esempio precedente crea un set vuoto con una stringa come chiave e una struttura vuota.

Golang Aggiungi elementi da impostare

Una volta dichiarato il set, possiamo aggiungere elementi alla mappa usando la sintassi della mappa. Un esempio è come illustrato di seguito:

Pacchetto principale
Importa "FMT"
tipo vuoto struct
Var Member vuoto
func main ()
Set: = make (mappa [string] void)
Imposta ["Apple"] = membro
Set ["Orange"] = Member
Imposta ["mango"] = membro
fmt.Println (set)

Nell'esempio precedente, assegniamo nuovi valori al set.

Iterazione di Golang

Possiamo iterare su una mappa usando il classico per loop e l'operatore di gamma. Un esempio di codice è mostrato di seguito:

Pacchetto principale
Importa "FMT"
tipo vuoto struct
Var Member vuoto
func main ()
Set: = make (mappa [string] void)
Imposta ["Apple"] = membro
Set ["Orange"] = Member
Imposta ["mango"] = membro
per k: = range set
fmt.Println (k)

Il costrutto di loop sopra dovrebbe restituire gli elementi nel set:

$ go run set.andare
Mango
mela
arancia

Golang Elimina Element Set

Possiamo rimuovere i membri da un set usando il metodo Elimina. Ad esempio, per rimuovere l'elemento "Apple" dal set, possiamo fare:

Pacchetto principale
Importa "FMT"
tipo vuoto struct
Var Member vuoto
func main ()
Set: = make (mappa [string] void)
Imposta ["Apple"] = membro
Set [“Orange”] = Member
Imposta ["mango"] = membro
Elimina (set, "Apple")
per k: = range set
fmt.Println (k)

Il metodo ELETE prende il nome del set e dell'elemento per rimuovere.

Golang controlla se esiste un elemento

Possiamo verificare se esiste un elemento all'interno di un set usando la sintassi mostrata:

se _, ok: = set [“Apple”]; OK
fmt.Println ("Element esiste")
altro
fmt.Println ("elemento non trovato")

Il codice precedente deve eseguire il blocco IF quando l'elemento si trova nel set e nel blocco altro se altrimenti.

Conclusione

Questo articolo ha esplorato come implementare un tipo set nel linguaggio di programmazione Go. Prima di utilizzare il set per gli ambienti critici delle prestazioni, controlla come un set influisce sulle prestazioni. Speriamo che tu abbia trovato questo articolo utile. Controlla altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni.