Cấu trúc trong Golang

Cấu truc hoặc struct trong Golang là một kiểu do người dùng định nghĩa cho phép nhóm/kết hợp các mục có thể có các kiểu khác nhau thành một kiểu duy nhat. Bất kỳ thực thể nào trong thế giới thực có một số thuộc tính/trường nào đó đều có thể được biểu diễn dưới dạng estrutura . Khái niệm này thường được so sánh với các lớp trong lập trình hướng đối tượng.

Cấu trúc trong Golang

Nó có thể được gọi là một lớp nhẹ không hỗ trợ kế thừa nhưng hỗ trợ thành phần. Ví dụ, một địa chỉ có tên, phố, thành phố, tiểu bang, mã pin. Việc nhóm ba thuộc tính này thành một địa chỉ cấu truc duy nhat như được hiển thị bên dưới là hợp lý.

 type Address struct {
      name string 
      street string
      city string
      state string
      Pincode int
}

Então, você digita giới thiệu một kiểu mới. Theo sau là tên của kiểu (Endereço) e khóa struct để minh họa rằng chung ta đang định nghĩa một struct . Struct chứa danh sách các trường khác nhau bên trong dấu ngoặc nhọn. Mỗi trường có một tên e một kiểu.

Lưu ý: Bạn cũng có thể làm cho chúng gọn lại bằng cách kết hợp các trường khác nhau với cùng kiểu như trong ví dụ bên dưới:

type Address struct {
    name, street, city, state string
    Pincode int
}

Để định nghĩa một cấu truc: Bạn dùng cú pháp khai báo sau:

var a Address

Đoạn code trên tạo ra một biến có kiểu Address , theo mặc định được đặt thành zero. Para a estrutura , zero pode ser o mesmo que o các trường được đặt giá trị zero tương ứng của chúng. Você tem o nome do nome, rua, cidade, estado como “” e Pincode como 0 . Bạn cũng có thể khởi tạo một biến có kiểu struct bằng cách sử dụng struct literal như minh họa bên dưới:

var a = Address{"Akshay", "PremNagar", "Dehradun", "Uttarakhand", 252636}

Lưu ý:

  • Luôn truyền các giá trị trường theo cùng thứ tự mà chúng được khai báo trong struct. Ngoài ra, bạn không thể khởi tạo chỉ một tập hợp con các trường với cú pháp trên.
  • Vá para o nome do pháp: valor để khởi tạo một struct (thứ tự các trường không liên quan khi sử dụng cú pháp này). E você não pode escolher um aplicativo para baixar o aplicativo. Tất cả các trường chưa được khởi tạo được đặt thành giá trị số không tương ứng của chúng. Veja:
var a = Address{Name:”Akshay”, street:”PremNagar”, state:”Uttarakhand”, Pincode:252636} //city:””
// Chương trình Go cho thấy cách
// khai báo và định nghĩa cấu trúc

package main

import "fmt"

// Định nghĩa một kiểu struct
type Address struct {
	Name string
	city string
	Pincode int
}

func main() {

	// Khai báo một biến của kiểu `struct` 
	// Khởi tạo toàn bộ các trường struct
	// với giá trị zero của chúng
	var a Address 
	fmt.Println(a)

	// Khai báo và khởi tạo một struct
	// bằng một struct literal
	a1 := Address{"Akshay", "Dehradun", 3623572}

	fmt.Println("Address1: ", a1)

	// Đặt tên các trường trong khi  
	// khởi tạo một struct
	a2 := Address{Name: "Anikaa", city: "Ballia",
								Pincode: 277001}

	fmt.Println("Address2: ", a2)

	// Các trường chưa được khởi tạo được đặt thành
	// giá trị zero tương ứng của chúng
	a3 := Address{Name: "Delhi"}
	fmt.Println("Address3: ", a3)
}

O que é:

{  0}
Address1:  {Akshay Dehradun 3623572}
Address2:  {Anikaa Ballia 277001}
Address3:  {Delhi  0}

Cách truy cập các trường của một struct

Para realmente criar um arquivo em uma estrutura, você precisa de um ponto (.).

O que é:

// Golang program to show how to
// access the fields of struct
package main

import "fmt"

// defining the struct
type Car struct {
	Name, Model, Color string
	WeightInKg		 float64
}

// Hàm chính
func main() {
	c := Car{Name: "Ferrari", Model: "GTC4",
			Color: "Red", WeightInKg: 1920}

	// Truy cập các trường struct
	// dùng toán tử dot
	fmt.Println("Car Name: ", c.Name)
	fmt.Println("Car Color: ", c.Color)

	// Gán một giá trị mới
	// cho trường struct
	c.Color = "Black"
	
	// Hiện kết quả
	fmt.Println("Car: ", c)
}

O que é:

Car Name:  Ferrari
Car Color:  Red
Car:  {Ferrari GTC4 Black 1920}
Pointers to a s

Com estrutura de madeira

Con trỏ trong ngôn ngữ lập trình Go hoặc Golang là một biến được sử dụng để lưu trữ địa chỉ bộ nhớ của một biến khác. Bạn cũng có thể tạo một con trỏ đến một struct như trong ví dụ dưới đây:

// Golang program to illustrate
// the pointer to struct
package main

import "fmt"

// định nghĩa một cấu trúc
type Employee struct {
	firstName, lastName string
	age, salary int
}

func main() {

	// chuyển địa chỉ của biến struct
	// emp8 là một con trỏ tới struct Employee 
	emp8 := &Employee{"Sam", "Anderson", 55, 6000}

	// (*emp8).firstName là cú pháp để truy cập
	// trường firstName của struct emp8 
	fmt.Println("First Name:", (*emp8).firstName)
	fmt.Println("Age:", (*emp8).age)
}

O que é:

First Name: Sam
Age: 55

Golang cung cấp cho chúng ta tùy chọn sử dụng emp8.firstName thay vì tham chiếu rõ ràng (*emp8).firstName để verdadeiro cập trường firstName. Ví dụ để hiển thị điều này như sau:

// Chương trình Go minh họa
// con trỏ tới struct
package main

import "fmt"

// Định nghĩa một struct
type Employee struct {
	firstName, lastName string
	age, salary		 int
}

// Hàm chính
func main() {

	// dẫn con trỏ tới struct
	emp8 := &Employee{"Sam", "Anderson", 55, 6000}

	// emp8.firstName được dùng để truy cập
	// ttrường firstName
	fmt.Println("First Name: ", emp8.firstName)
	fmt.Println("Age: ", emp8.age)
}

O que é:

First Name:  Sam
Age:  55

Em Go, một cấu truc là một kiểu dữ liệu tổng hợp nhóm lại với nhau không hoặc nhiều giá trị của các kiểu khác nhau. Các cấu truc được định nghĩa bằng to khóa type , theo sau là tên của kiểu mới e từ khóa struct . Sau đây là một ví dụ:

Para isso, escolha a configuração da pessoa que você deve usar: Nome para string , Idade para int e Endereço para string . Sau đó, chúng ta có thể tạo các thể hiện mới của kiểu Pessoa e đặt giá trị cho các trường của nó:

func main() {
	person := Person{
		Name: "John Doe",
		Age:	 30,
		Address: "123 Main St",
	}
	fmt.Println(person)
}

O que é:

{John Doe 30 123 Main St}
Sign up and earn $1000 a day ⋙

Leave a Comment

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.