O que são estruturas em Golang

O que são estruturas em Golang

No idioma Go, uma estrutura é uma coleção de variáveis ​​(campos) agrupadas em um único nome. É um tipo de dados composto que nos permite criar estruturas de dados personalizadas para manter informações relacionadas. As estruturas em Go são como classes em programação orientada a objetos como C e C ++, mas não suportam herança. Em vez disso, eles dependem da composição para alcançar a reutilização do código. Este artigo cobre as estruturas em Golang e como podemos declarar e acessar os membros da estrutura.

O que é uma estrutura em Golang

Em Golang, uma estrutura é um tipo de dados composto que consiste em zero ou mais campos nomeados, cada um dos quais tem um tipo específico. Os campos de uma estrutura podem ser de qualquer tipo, incluindo outras estruturas, matrizes, funções ou interfaces.

Aqui está um exemplo de estrutura em Golang:

tipo de pessoa da pessoa
FullName String
Anos Int
Endereço de localização

Tipo de endereço de endereço
StreetName String
CityName String
String countryname


Aqui definimos uma estrutura de pessoa com três campos: Nome FullName, Anos e Localização. O campo de localização é em si uma estrutura que possui três campos: nome da rua, nome da cidade e countryName.

Como declarar estrutura em Golang

Podemos declarar uma estrutura em Golang usando o tipo palavra -chave. O nome da estrutura é definido após o tipo Palavra -chave e seus campos são fechados em aparelhos encaracolados . Aqui está a sintaxe para declarar uma estrutura em Go:

Tipo StructName Struct
FieldName1 FieldType1
FieldName2 FieldType2
..


Abaixo está um exemplo de como declarar uma estrutura nomeada com o nome de dois campos e a idade dos tipos String e Int, respectivamente:

tipo de pessoa da pessoa
String de nome
idade int


No código acima, usamos o tipo palavra -chave para declarar uma nova estrutura nomeada Pessoa com dois campos nome de string de tipo e idade do tipo int. Os campos são separados por um Nova linha personagem, mas um Semicolon (;) também pode ser usado para separá -los.

Como acessar o membro da estrutura em Golang

Para acessar os campos de uma instância de estrutura no idioma Go DOT (“.”) O operador é usado. Este operador de pontos é seguido por um nome de campo. Aqui está um exemplo de como acessar o nome e os campos de idade de uma instância de estrutura de uma pessoa:

// Crie uma nova instância da estrutura 'Pessoa' com o nome "Kash" e 24 anos
kash: = pessoa nome: "kash", idade: 24
// Acesse os campos da instância de estrutura 'Kash'
fmt.Println (kash.nome) // saída: "kash"
fmt.Println (kash.idade) // saída: 24


No código acima, criamos uma nova instância de estrutura da pessoa chamada Kash com o nome Kash e idade 24. Em seguida, acessamos o nome e os campos da idade da instância da estrutura Kash usando o (“.”) operador e imprimi -los no console.

É importante observar que os campos de uma instância de estrutura são acessados ​​usando a notação de pontos e não o seta notação (->) usado em algumas outras linguagens de programação. A notação de pontos é usada de forma consistente para acessar campos de estruturas, bem como propriedades e métodos de outros tipos.

Exemplo Código de declarar e acessar o membro da estrutura em Golang

Abaixo está um exemplo completo de declarar a estrutura da pessoa e imprimir seus valores na tela:

Pacote principal
importar "fmt"
tipo de pessoa da pessoa
String de nome
idade int

func main ()
// Crie uma nova instância da estrutura 'Pessoa' com nome "Kash" e 24 anos
kash: = pessoa nome: "kash", idade: 24
// Imprima o 'nome' e a 'idade' de 'kash' struct instância no console
fmt.Printf ("Nome: %s \ n", kash.nome)
fmt.Printf ("idade: %d \ n", kash.idade)


No código acima escrito, declaramos primeiro o Pessoa estrutura. Esta estrutura contém dois campos que são nome e idade. Depois disso, criamos uma nova instância de estrutura de uma pessoa chamada Kash com o nome Kash e idade 24.

Para exibir os campos de nome e idade, usamos o fmt.Printf função com o %s e %d Especificadores de formato para imprimir o nome e os campos de idade, respectivamente.

Após a execução, o código após a saída aparece no console:

Como passar a estrutura como argumentos de função

Para passar uma estrutura como um argumento de função no GO, simplesmente precisamos especificar o tipo de estrutura como o tipo de parâmetro na assinatura da função e depois passar a instância da estrutura como um argumento ao chamar a função.

Código de exemplo

O exemplo abaixo mostra como passar uma instância de estrutura de uma pessoa como um argumento para uma função no idioma Go e imprima seus valores para a tela:

Pacote principal
importar "fmt"
// Declare uma estrutura chamada 'pessoa' com dois campos: 'nome' e 'idade'
tipo de pessoa da pessoa
String de nome
idade int

// Declare uma função chamada 'printperson' que leva uma estrutura de 'pessoa' como um argumento
Func PrintPerson (P Pessoa)
fmt.Printf ("Nome: %s \ n", p.nome)
fmt.Printf ("idade: %d \ n", p.idade)

func main ()
// Crie uma nova instância da estrutura 'Pessoa' com o nome "Kash" e 24 anos
kash: = pessoa nome: "kash", idade: 24
// Passe a instância 'kash' para a função 'printperson'
printperson (kash)


No código acima, declaramos primeiro a estrutura da pessoa com dois campos, nome, e idade. Em seguida, declaramos uma função chamada PrintPerson Isso leva uma pessoa como argumento e imprime seu nome e campos de idade para a tela usando o FMT.Função printf.

Na função principal, criamos uma nova instância de estrutura da pessoa chamada Kash com o nome Kash e 24 anos. Em seguida, passamos a instância da estrutura kash para a função PrintPerson chamando a função PrintPerson e passando Kash como argumento.

A saída a seguir pode ser vista no console após a execução do código acima:

Conclusão

Em Golang, as estruturas podem representar tipos de dados complexos e encapsular dados relacionados. Uma estrutura é um tipo de dados composto por um ou mais campos, cada um dos quais recebe um nome e tipo específico. Os campos de uma estrutura podem ser de qualquer tipo, incluindo outras estruturas, matrizes, funções ou interfaces. Este artigo discutiu as estruturas Go em detalhes, para obter mais informações sobre como declarar e acessar os elementos da estrutura Leia o artigo.