English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
As estruturas no Golang são tipos definidos pelo usuário, que permitem que criemos um conjunto de elementos de diferentes tipos em um único unidade. Qualquer entidade real que tenha um conjunto de atributos ou campos pode ser representada por uma estrutura.
Em Go, é permitido criar estruturas anônimas. Estruturas anônimas são estruturas que não contêm nome. É útil quando você precisa criar uma estrutura que pode ser usada uma vez. Você pode usar a seguinte sintaxe para criar estruturas anônimas:
variable_name := struct{ // fields }{// Field_values}
Vamos usar um exemplo para discutir esse conceito:
//Conceito de estrutura anônima package main import "fmt" func main() { // Criar e inicializar estrutura anônima Element := struct { nome string setor string linguagem string Partículas int }{ nome: "Zhang San" setor: "Desenvolvimento" linguagem: "C"++" Partículas: 498, } //Exibir estrutura anônima fmt.Println(Element) }
Saída:
{Zhang San Setor de Desenvolvimento C++ 498}
Em estruturas Go, é permitido criar campos anônimos. Campos anônimos são aqueles que não contêm nenhum nome. Basta mencionar o tipo do campo e o Go automaticamente usará o tipo como o nome do campo. Você pode usar a seguinte sintaxe para criar campos anônimos de estruturas:
type struct_name struct{ int bool float64 }
Ponto Importante:
Em uma estrutura, não é permitido criar dois ou mais campos do mesmo tipo, conforme mostrado a seguir:
type student struct{ int int }
Se tentar fazer isso, o compilador lançará um erro.
Permite combinar campos anônimos com campos nomeados, conforme mostrado a seguir:
type student struct{ name int price int string }
Vamos usar um exemplo para discutir o conceito de campo anônimo:
package main import "fmt" //Criar um campo anônimo de estrutura type student struct { int string float64 } // Função Principal func main() { // Atribuir valores aos campos da estrutura anônima, campo de estudante value := student{123, "Bud", 8900.23} fmt.Println("Número de Ingressos: ", value.int) fmt.Println("Nome do Estudante: ", value.string) fmt.Println("Preço do Pacote: ", value.float)64) }
Saída:
Número de Ingressos: : 123 Nome do Estudante: Bud Preço do Pacote : 8900.23