Estrutura aninhada em Golang

Uma estrutura ou struct em Golang é um tipo definido pelo usuário que nos permite criar um grupo de elementos de diferentes tipos em uma única unidade. Qualquer entidade do mundo real que tenha algum conjunto de propriedades ou campos pode ser representada como uma struct.

Estrutura aninhada em Golang

Como usar estruturas aninhadas em Golang

A linguagem Go permite estruturas aninhadas. Uma estrutura que é um campo de outra estrutura é chamada de Estrutura Aninhada. Em outras palavras, uma estrutura dentro de outra estrutura é chamada de Estrutura Aninhada. Sintaxe:

type struct_name_1 struct{
  // Các trường
} 
type struct_name_2 struct{
  variable_name  struct_name_1

}

Considere o exemplo a seguir para entender a estrutura aninhada em Golang:

Exemplo 1:

// Chương trình Go minh hoạc
// cấu trúc lồng nhau
package main

import "fmt"

// Tạo cấu trúc
type Author struct {
	name string
	branch string
	year int
}

// Tạo cấu trúc lòng nhau
type HR struct {

	// cấu trúc là một trường
	details Author
}

func main() {

	// Khởi tạo các trường
	// của cấu trúc
	result := HR{
	
		details: Author{"Sona", "ECE", 2013},
	}

	// Hiện giá trị
	fmt.Println("\nDetails of Author")
	fmt.Println(result)
}

Resultado:

Details of Author
{{Sona ECE 2013}}

Exemplo 2:

// Chương trình Golang minh họa
// cấu trúc lồng nhau
package main

import "fmt"

// Tạo cấu trúc
type Student struct {
	name string
	branch string
	year int
}

// Tạo cấu trúc lồng nhau
type Teacher struct {
	name string
	subject string
	exp	 int
	details Student
}

func main() {

	// Khởi tạo các trường
	// của cấu trúc
	result := Teacher{
		name: "Suman",
		subject: "Java",
		exp:	 5,
		details: Student{"Bongo", "CSE", 2},
	}

	// Hiện giá trị
	fmt.Println("Details of the Teacher")
	fmt.Println("Teacher's name: ", result.name)
	fmt.Println("Subject: ", result.subject)
	fmt.Println("Experience: ", result.exp)

	fmt.Println("\nDetails of Student")
	fmt.Println("Student's name: ", result.details.name)
	fmt.Println("Student's branch name: ", result.details.branch)
	fmt.Println("Year: ", result.details.year)
}

Resultado:

Details of the Teacher
Teacher's name:  Suman
Subject:  Java
Experience:  5

Details of Student
Student's name:  Bongo
Student's branch name:  CSE
Year:  2

Exemplo 3:

Em Go, uma estrutura pode ter campos que são estruturas, chamadas de estruturas aninhadas. Aqui está um exemplo de uma estrutura que tem uma estrutura aninhada:

package main

import (
	"fmt"
)

type Address struct {
	Street	 string
	City	 string
	State	 string
	PostalCode string
}

type Person struct {
	FirstName string
	LastName string
	Age	 int
	Address Address
}

func main() {
	p := Person{
		FirstName: "John",
		LastName: "Doe",
		Age:	 30,
		Address: Address{
			Street:	 "123 Main St",
			City:	 "Anytown",
			State:	 "CA",
			PostalCode: "12345",
		},
	}

	fmt.Println(p.FirstName, p.LastName)
	fmt.Println("Age:", p.Age)
	fmt.Println("Address:")
	fmt.Println("Street:", p.Address.Street)
	fmt.Println("City:", p.Address.City)
	fmt.Println("State:", p.Address.State)
	fmt.Println("Postal Code:", p.Address.PostalCode)
}

Resultado:

John Doe
Age: 30
Address:
Street: 123 Main St
City: Anytown
State: CA
Postal Code: 12345

Aqui, definimos dois tipos de struct: Pessoa e Endereço. Pessoa tem um campo struct aninhado chamado Endereço. Na função principal, criamos uma nova instância Person com um campo Address. Em seguida, imprimimos os vários valores de campo das estruturas Pessoa e Endereço usando a notação de ponto para acessar os campos aninhados.

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?

Estruturas e campos anônimos em Golang

Estruturas e campos anônimos em Golang

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.

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.

Diferença entre TV comum e Smart TV

Diferença entre TV comum e Smart TV

As Smart TVs realmente conquistaram o mundo. Com tantos recursos excelentes e conectividade à Internet, a tecnologia mudou a maneira como assistimos TV.

Por que o freezer não tem luz, mas a geladeira tem?

Por que o freezer não tem luz, mas a geladeira tem?

Geladeiras são eletrodomésticos comuns em residências. As geladeiras geralmente têm 2 compartimentos, o compartimento frio é espaçoso e tem uma luz que acende automaticamente toda vez que o usuário o abre, enquanto o compartimento do freezer é estreito e não tem luz.

2 maneiras de corrigir o congestionamento da rede que deixa o Wi-Fi lento

2 maneiras de corrigir o congestionamento da rede que deixa o Wi-Fi lento

As redes Wi-Fi são afetadas por muitos fatores além de roteadores, largura de banda e interferência, mas existem algumas maneiras inteligentes de melhorar sua rede.

Como fazer downgrade do iOS 17 para o iOS 16 sem perder dados usando o Tenorshare Reiboot

Como fazer downgrade do iOS 17 para o iOS 16 sem perder dados usando o Tenorshare Reiboot

Se você quiser voltar para o iOS 16 estável no seu telefone, aqui está o guia básico para desinstalar o iOS 17 e fazer o downgrade do iOS 17 para o 16.

O que acontece com o corpo quando você come iogurte todos os dias?

O que acontece com o corpo quando você come iogurte todos os dias?

Iogurte é um alimento maravilhoso. É bom comer iogurte todos os dias? Quando você come iogurte todos os dias, como seu corpo muda? Vamos descobrir juntos!

Que tipo de arroz é melhor para a saúde?

Que tipo de arroz é melhor para a saúde?

Este artigo discute os tipos de arroz mais nutritivos e como maximizar os benefícios para a saúde de qualquer arroz que você escolher.

Como acordar na hora certa pela manhã

Como acordar na hora certa pela manhã

Estabelecer um horário de sono e uma rotina para dormir, mudar o despertador e ajustar a dieta são algumas das medidas que podem ajudar você a dormir melhor e acordar na hora certa pela manhã.

Dicas para jogar Rent Please! Simulador de Proprietário para Iniciantes

Dicas para jogar Rent Please! Simulador de Proprietário para Iniciantes

Alugue, por favor! Landlord Sim é um jogo de simulação para dispositivos móveis para iOS e Android. Você jogará como proprietário de um complexo de apartamentos e começará a alugar um apartamento com o objetivo de reformar o interior do seu apartamento e deixá-lo pronto para inquilinos.

Últimos códigos de defesa de torre de banheiro e como inseri-los

Últimos códigos de defesa de torre de banheiro e como inseri-los

Obtenha o código do jogo Bathroom Tower Defense Roblox e resgate recompensas emocionantes. Elas ajudarão você a melhorar ou desbloquear torres com maior dano.

Estrutura, símbolos e princípios de funcionamento dos transformadores

Estrutura, símbolos e princípios de funcionamento dos transformadores

Vamos aprender sobre a estrutura, os símbolos e os princípios de operação dos transformadores da maneira mais precisa.

4 maneiras pelas quais a IA está melhorando as Smart TVs

4 maneiras pelas quais a IA está melhorando as Smart TVs

De melhor qualidade de imagem e som a controle de voz e muito mais, esses recursos com tecnologia de IA estão tornando as smart TVs muito melhores!

Por que o ChatGPT é melhor que o DeepSeek

Por que o ChatGPT é melhor que o DeepSeek

Inicialmente, as pessoas tinham grandes esperanças no DeepSeek. Como um chatbot de IA comercializado como um forte concorrente do ChatGPT, ele promete recursos e experiências de bate-papo inteligentes.

Conheça Fireflies.ai: a secretária de IA gratuita que economiza horas de trabalho

Conheça Fireflies.ai: a secretária de IA gratuita que economiza horas de trabalho

É fácil perder detalhes importantes ao anotar outros itens essenciais, e tentar fazer anotações enquanto conversa pode ser uma distração. Fireflies.ai é a solução.

Como criar Axolotl no Minecraft, domar Salamandra no Minecraft

Como criar Axolotl no Minecraft, domar Salamandra no Minecraft

O Axolot do Minecraft será um ótimo assistente para jogadores que operam debaixo d'água se eles souberem como usá-lo.

Configuração do jogo para PC A Quiet Place: The Road Ahead

Configuração do jogo para PC A Quiet Place: The Road Ahead

A configuração de A Quiet Place: The Road Ahead é bem avaliada, então você precisa considerar a configuração antes de decidir fazer o download.