Estruturas e campos anônimos em Golang

Em Golang , estruturas (ou structs) nos permitem agrupar elementos de diferentes tipos em uma única unidade, o que é útil para modelar entidades do mundo real. Estruturas anônimas em Golang são estruturas temporárias sem nomes usadas para propósitos únicos, enquanto campos anônimos permitem a incorporação de campos sem nome.

Estruturas e campos anônimos em Golang

Por exemplo:

package main
import "fmt"

// struct học sinh với cấu trúc và trường ẩn danh
type Student struct {
    struct {    // Cấu trúc bên trong ẩn danh cho thông tin cá nhân
        name string
        enrollment int
    }
    GPA float64  // Trường chuẩn
}

func main() {
    student := Student{
        struct {
            name string
            enrollment int
        }{
            name: "A",
            enrollment: 12345,
        },
        GPA: 3.8,
    }
    fmt.Println("Name:", student.name)
    fmt.Println("Enrollment:", student.enrollment)
    fmt.Println("GPA:", student.GPA)
}

Sintaxe:

variable := struct {
    field1 dataType1
    field2 dataType2                                                          # Cấu trúc ẩn danh
    // Trường bổ sung khi cần
}{value1, value2}


type StructName struct {
    dataType1
    dataType2                                                                    # Trường ẩn danh                                        
    // Trường ẩn danh bổ sung
}

Estruturas Anônimas em Go

Estruturas anônimas em Go são definidas sem nome e são úteis para criar estruturas temporárias e descartáveis. Aqui está a sintaxe e o exemplo de código.

Sintaxe:

variable := struct {
    field1 dataType1
    field2 dataType2
    // Các trường bổ sung khi cần
}{value1, value2}

Por exemplo:

package main
import "fmt"
// Cấu trúc sinh viên với cấu trúc bên trong ẩn danh cho thông tin cá nhân
type Student struct {
    personalDetails struct { // Cấu trúc ẩn danh bên trong cho thông tin cá nhân
        name       string
        enrollment int
    }
    GPA float64 // Trường chuẩn
}
func main() {
    // Khởi tạo cấu trúc bên trong cho student
    student := Student{
        personalDetails: struct {
            name       string
            enrollment int
        }{
            name:       "A",
            enrollment: 12345,
        },
        GPA: 3.8,
    }
    // Hiện giá trị
    fmt.Println("Name:", student.personalDetails.name)
    fmt.Println("Enrollment:", student.personalDetails.enrollment)
    fmt.Println("GPA:", student.GPA)
}

Resultado:

Name: A
Enrollment: 12345
GPA: 3.8

Este código define uma estrutura Student com uma estrutura personalDetails anônima dentro, armazenando o nome e as informações de registro. Em seguida, inicialize o aluno com valores para esses campos e imprima-os.

Campos anônimos

Campos anônimos em Go permitem que você defina campos sem nomes explícitos, apenas seus tipos são especificados. Isso é útil quando os campos seguem naturalmente o nome do tipo.

Sintaxe

type StructName struct {
    dataType1
    dataType2
    // Additional anonymous fields
}

Por exemplo:

package main
import "fmt"

// Cấu trúc học sinh bằng các trường ẩn danh
type Student struct {
    int     // Số đăng ký (trường ẩn danh)
    string  // Tên trường ẩn danh
    float64 // GPA (trường ẩn danh)
}

func main() {
    // Khởi tạo struct học sinh với các trường ẩn danh
    student := Student{12345, "A", 3.8}

    // Hiện giá trị
    fmt.Println("Enrollment:", student.int)
    fmt.Println("Name:", student.string)
    fmt.Println("GPA:", student.float64)
}

Resultado:

Enrollment: 12345
Name: A
GPA: 3.8

Aqui, os tipos de dados ( int, string, float64 ) atuam como nomes de campos, portanto, o acesso aos valores depende dos tipos.

Pontos importantes a serem lembrados sobre campos anônimos em Golang

1. Requisito exclusivo: você não pode usar dois campos do mesmo tipo em uma estrutura. Por exemplo:

type InvalidStudent struct {
    int
    int // Error: duplicate type
}

2. Combinando campos nomeados e anônimos: Você pode combinar campos anônimos e nomeados em uma estrutura.

type Student struct {
    id int // Named field
    int    // Anonymous field
}
Sign up and earn $1000 a day ⋙

Leave a Comment

Como usar constantes em Golang

Como usar constantes em Golang

O que é constante ou const em Golang? Aqui está o que você precisa saber sobre o uso de constantes em Go.

Funções voláteis em Golang

Funções voláteis em Golang

Funções variádicas em Go permitem que você passe um número variável de argumentos para uma função. Aqui está tudo o que você precisa saber sobre funções voláteis em Golang.

Parâmetros de retorno nomeados em Golang

Parâmetros de retorno nomeados em Golang

Em Golang, parâmetros de retorno nomeados são frequentemente chamados de parâmetros nomeados. Golang permite nomear os parâmetros de retorno ou resultados de funções na assinatura ou definição da função.

Palavras-chave em Go

Palavras-chave em Go

Palavra-chave - Palavras-chave são palavras em um idioma que são usadas para algum processo interno ou representam alguma ação predefinida. Aqui estão as coisas que você precisa saber sobre palavras-chave em Golang.

Tipos de dados em Golang

Tipos de dados em Golang

O tipo de dados especifica o tipo de dados que uma variável Go válida pode conter. Na linguagem Go, os tipos são divididos em quatro categorias, como segue:

Argumentos de função em Golang

Argumentos de função em Golang

Go suporta duas maneiras principais de passar argumentos: Passagem por valor e Passagem por referência. Go usa passagem por valor por padrão.

Função retornando múltiplos valores em Golang

Função retornando múltiplos valores em Golang

Na linguagem Go, você pode retornar vários valores de uma função, usando a instrução return. Em outras palavras, em uma função, uma instrução return pode retornar vários valores.

Instrução Switch em Go

Instrução Switch em Go

Golang como a maioria das outras linguagens de programação tem instrução switch. Veja como usar a instrução switch em Golang.

Casos a serem conhecidos ao usar instruções de seleção em Golang

Casos a serem conhecidos ao usar instruções de seleção em Golang

Neste artigo, aprenderemos como usar o caso padrão para evitar deadlock. Mas primeiro, vamos descobrir o que é o caso de deadlock ao usar o comando select do Golang?

Como usar Runa em Golang

Como usar Runa em Golang

O que são Runas em Golang? Como usar Runa em Golang? O artigo lhe dará a resposta.

Como usar operadores em Golang

Como usar operadores em Golang

Operadores nos permitem realizar diferentes tipos de operações em operandos. Na linguagem Go, os operadores podem ser classificados com base em suas diferentes funções.

Identificador vazio em Golang

Identificador vazio em Golang

_(sublinhado) em Golang é chamado de Identificador em Branco. Identificador é um nome definido pelo usuário para componentes de programa usados ​​para fins de identificação.

Como criar um programa básico em Golang

Como criar um programa básico em Golang

Olá, mundo! é o primeiro programa básico em qualquer linguagem de programação. Você pode escrever este primeiro programa em Golang seguindo os passos abaixo.

Como instalar o Go no Windows

Como instalar o Go no Windows

O Golang pode ser facilmente instalado no Windows. Abaixo está um guia passo a passo detalhado para instalar o Golang no Windows.

A tradução de animais por IA ajuda os humanos a entender os latidos dos cães

A tradução de animais por IA ajuda os humanos a entender os latidos dos cães

Graças à inteligência artificial (IA), o que parece um sonho de cinema — humanos sendo capazes de entender a linguagem animal — pode em breve se tornar realidade.

Para que servem as configurações da câmera do seu telefone?

Para que servem as configurações da câmera do seu telefone?

Saber o que cada recurso faz pode fazer a diferença entre uma boa foto e uma ótima foto.

OpenAI lança nova ferramenta para ajudar desenvolvedores a criar agentes de IA

OpenAI lança nova ferramenta para ajudar desenvolvedores a criar agentes de IA

Ao visualizar os agentes de IA como o futuro da indústria de inteligência artificial, a OpenAI admite que construir agentes poderosos de “nível industrial” com as ferramentas atuais é muito difícil.

Pocket Casts: o melhor aplicativo de podcast agora gratuito para desktop

Pocket Casts: o melhor aplicativo de podcast agora gratuito para desktop

Ótimas notícias para os fãs de podcast. Atualmente, o Pocket Casts pode ser usado gratuitamente na web e também em aplicativos para Mac e Windows.

Veja as primeiras imagens do módulo de pouso Blue Ghost na superfície da Lua

Veja as primeiras imagens do módulo de pouso Blue Ghost na superfície da Lua

Com a chegada do módulo de pouso Blue Ghost à Lua neste fim de semana, astrônomos do mundo todo aguardam ansiosamente uma série de novas imagens impressionantes que proporcionarão uma visão verdadeiramente envolvente, e até mesmo sem precedentes, do satélite natural do nosso planeta.

Como usar constantes em Golang

Como usar constantes em Golang

O que é constante ou const em Golang? Aqui está o que você precisa saber sobre o uso de constantes em Go.

Como recuperar a senha hackeada do Facebook e o e-mail de registro perdido

Como recuperar a senha hackeada do Facebook e o e-mail de registro perdido

Ao usar o Facebook, às vezes sua conta será hackeada, você perderá sua senha ou até mesmo perderá seu e-mail de registro do Facebook. Então, como você pode recuperar sua conta do Facebook quando perder sua senha e seu e-mail de registro?

Como falsificar mensagens no iPhone, criar mensagens no Messenger

Como falsificar mensagens no iPhone, criar mensagens no Messenger

Criar mensagens falsas para trollar as pessoas é muito simples quando podemos usar aplicativos de criação de mensagens falsas, ou usar alguns sites que criam mensagens falsas totalmente grátis.

Código Ultimate Evolution: Último Saiyan e como inserir o código

Código Ultimate Evolution: Último Saiyan e como inserir o código

O código Ultimate Evolution Saiyan oferece aos jogadores uma série de recompensas atraentes e, graças a isso, no início do jogo, como diamantes, exp, cápsulas de exp, ouro, fragmentos de personagem

Como editar a foto de pré-visualização no perfil do Instagram

Como editar a foto de pré-visualização no perfil do Instagram

O Instagram mudou recentemente o layout da grade do perfil para uma visualização vertical 4:5. E os usuários podem personalizar a imagem de visualização para focar no conteúdo que desejam.

Código Monkey King: Jornada para o Oeste mais recente 25/04/2025

Código Monkey King: Jornada para o Oeste mais recente 25/04/2025

O Code Monkey King oferece aos jogadores uma série de recompensas atraentes, como moeda, fragmentos de personagens aleatórios de 5 estrelas, Pílula de Ouro das Nove Revoluções, Pacotes de Recursos aleatórios

11 maneiras criativas de usar o Microsoft Word

11 maneiras criativas de usar o Microsoft Word

Quando você pensa no Microsoft Word, o que vem à mente? Documento? Retomar? Embora esses sejam certamente seus usos principais, o Word também é uma ferramenta surpreendentemente versátil para uma variedade de projetos criativos.

Como marcar amigos no status do WhatsApp

Como marcar amigos no status do WhatsApp

O WhatsApp atualizou o recurso de marcar amigos no status do WhatsApp para todas as contas, nas versões Android e iOS.

Coleção de receitas de coquetéis de café deliciosos, fáceis de fazer e de qualidade para todos

Coleção de receitas de coquetéis de café deliciosos, fáceis de fazer e de qualidade para todos

Você ama café e quer tentar fazer seu próprio coquetel de café? Então o artigo abaixo irá resumir para você as receitas para fazer coquetéis de café simples, deliciosos e atraentes.

Bleach: Personagens com mais mudanças na aparência

Bleach: Personagens com mais mudanças na aparência

Embora existam muitos personagens na série Bleach que podem ser considerados reconhecíveis, isso não significa necessariamente que eles tenham a mesma aparência do início ao fim. Abaixo estão os personagens de Bleach que tiveram mudanças significativas na aparência.