Golang Conjunto

Golang Conjunto
Se você vem de uma linguagem de programação, como Python, você está familiarizado com o conceito de conjuntos.

Um conjunto refere -se a uma coleção de itens não ordenados. Os conjuntos são únicos e não permitem valores duplicados em uma única entrada.

Se você trabalha com a programação Go, você percebe rapidamente que não há conjuntos de conceitos. No entanto, podemos fazer alguns truques com mapas e estruturas para criar um conjunto.

Golang Create Set

Fundamentalmente, os conjuntos são uma coleção de valores únicos. Podemos usar um mapa com uma estrutura vazia para representá -los.

Podemos expressar esta sintaxe como:

var myset mapa [type] struct

Como uma estrutura vazia obtém 0 bytes, o conjunto é um método muito eficiente de implementar um conjunto.

O exemplo a seguir cria um conjunto simples usando a sintaxe anterior.

Pacote principal
Tipo void struct
VAR MEMBRO VOID
func main ()
set: = make (map [string] void)

O exemplo anterior cria um conjunto vazio com uma string como a chave e uma estrutura vazia.

Golang Adicionar elementos para definir

Depois de declararmos o conjunto, podemos adicionar elementos ao mapa usando a sintaxe do mapa. Um exemplo é como ilustrado abaixo:

Pacote principal
importar "fmt"
Tipo void struct
VAR MEMBRO VOID
func main ()
set: = make (map [string] void)
Set ["Apple"] = Membro
Set ["Orange"] = Membro
set ["manga"] = membro
fmt.Println (conjunto)

No exemplo anterior, atribuímos novos valores ao conjunto.

Golang define iteração

Podemos iterar sobre um mapa usando o clássico para o operador de loop e alcance. Um exemplo de código é mostrado abaixo:

Pacote principal
importar "fmt"
Tipo void struct
VAR MEMBRO VOID
func main ()
set: = make (map [string] void)
Set ["Apple"] = Membro
Set ["Orange"] = Membro
set ["manga"] = membro
para k: = range conjunto
fmt.Println (k)

A construção do loop acima deve retornar os elementos no conjunto:

$ go run sets.ir
manga
maçã
laranja

Golang Delete Set Element

Podemos remover os membros de um conjunto usando o método de exclusão. Por exemplo, para remover o elemento "maçã" do conjunto, podemos fazer:

Pacote principal
importar "fmt"
Tipo void struct
VAR MEMBRO VOID
func main ()
set: = make (map [string] void)
SET ["Apple"] = Membro
Set ["Orange"] = Membro
set ["manga"] = membro
excluir (conjunto, "maçã")
para k: = range conjunto
fmt.Println (k)

O método de exclusão leva o nome do conjunto e o elemento para remover.

Golang verifique se o elemento existe

Podemos verificar se existe um elemento dentro de um conjunto usando a sintaxe mostrada:

Se _, ok: = set ["Apple"]; OK
fmt.Println ("elemento existe")
outro
fmt.Println ("elemento não encontrado")

O código anterior deve executar o bloco IF quando o elemento estiver no conjunto e o bloco else, caso contrário, caso contrário.

Conclusão

Este artigo explorou como implementar um tipo de conjunto na linguagem de programação Go. Antes de usar o conjunto para ambientes críticos de desempenho, verifique como um conjunto afeta o desempenho. Esperamos que você tenha achado este artigo útil. Verifique outros artigos de dica do Linux para obter mais dicas e informações.