English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico do Golang

Instruções de controle no Golang

Função & Método no Golang

Estrutura no Golang

Fatia & Array no Golang

String (String) no Golang

Ponteiro no Golang

Interfaces no Golang

Concorrência no Golang

Exceções (Error) do Golang

Outros itens do Golang

Estrutura Anônima e Campo do Go

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.

Estrutura Anônima

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}

Campos Anônimos

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