Cấu trúc trong Golang

Cấu trúc 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áu cáuth ục ể kiểu duy nhất. 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ể thể Ļợ đưể Ļợ đó dưới dạng struct . 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 trúc duy nhất như được hiển thị bên dưới l là h.

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

Ở trên, từ khóa tip giới thiệu một kiểu mới. Theo sau là tên của kiểu (Adresă) và từ khóa struct để minh họa rằng chúng 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 và 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 bên: dượp các

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

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

var a Address

Codul Đoạn trên tạo ra một biến có kiểu Adresa , theo mặc định được đặt thành zero. Đối với một struct , zero có nghĩa là tất cả các trường được đặt thành giá trị zero tương ứng của ch. Vì vậy, các trường nume, stradă, oraș, stat được đặt thành “” , và Pincode được đặt thành 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.
  • Go cũng hỗ trợ cú pháp name: value để 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). Và điều này cho phép bạn chỉ khởi tạo một tập hợp con các trường. 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. Ví dụ:
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)
}

Ceea ce:

{  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

Để truy cập vào từng trường riêng lẻ của một struct, bạn phải sử dụng toán tử dot (.).

Ví dụ:

// 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)
}

Ceea ce:

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

Con trỏ tới một struct

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ột biỿnh 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)
}

Ceea ce:

First Name: Sam
Age: 55

Golang cung cấp cho chúng ta tùy chọn sử dụng emp8.prenume thay vì tham chiếu rõ ràng (*emp8).prenume để truy cập trường prenume. 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)
}

Ceea ce:

First Name:  Sam
Age:  55

Trong Go, một cấu trúc 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 kiháu các. Các cấu trúc được định nghĩa bằng từ khóa tip , theo sau là tên của kiểu mới và từ khóa struct . Sau đây là một ví dụ:

Trong ví dụ này, chúng ta định nghĩa một kiểu Persoană mới có ba trường: Nume kiểu șir , Vârsta kiểu intAdresă kiểu șir . Sau đó, chúng ta có thể tạo các thể hiện mới của kiểu Persoana và đặ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)
}

Ceea ce:

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

Leave a Comment

Semne că ești cu adevărat pregătit pentru o relație serioasă

Semne că ești cu adevărat pregătit pentru o relație serioasă

Dacă vă întrebați dacă sunteți pregătit pentru relația serioasă pe care o doriți, consultați această listă de moduri prin care puteți spune dacă sunteți pregătit sau dacă aveți mai mult de lucru:

Ar trebui lăsate ușile deschise iarna?

Ar trebui lăsate ușile deschise iarna?

Vremea rece îi face pe mulți oameni să se teamă să deschidă ferestrele iarna. Totuși, este bine să ținem ușile închise tot timpul iarna? Ar trebui deschise ferestrele iarna? Să aflăm împreună!

Cum să obțineți 1 lună de Discord Nitro gratuit cu Opera GX

Cum să obțineți 1 lună de Discord Nitro gratuit cu Opera GX

Opera GX, browserul web axat pe jocuri, a creat un parteneriat interesant cu Discord, oferind utilizatorilor o lună de încercare gratuită a Discord Nitro.

Cum să înregistrezi rapid ecranul computerului Windows 10

Cum să înregistrezi rapid ecranul computerului Windows 10

În prezent, există multe programe de înregistrare a ecranului computerului care acceptă Win 10, ajutându-vă să înregistrați cu ușurință ecranul computerului, în special pentru jucători.

Cum să dezactivați comentariile atunci când transmiteți în direct pe Facebook

Cum să dezactivați comentariile atunci când transmiteți în direct pe Facebook

Când vizionați un stream live pe Facebook, comentariile sunt afișate automat pe ecranul video online. Atunci spectatorii vor cunoaște comentariile altora.

15 lucruri pe care le poți face cu ChatGPT

15 lucruri pe care le poți face cu ChatGPT

De la lansarea sa în noiembrie 2022, ChatGPT a primit multă atenție pentru multitudinea de utilizări. Pentru a vă ajuta să profitați la maximum de acest instrument, iată 15 moduri în care puteți utiliza ChatGPT.

Sfaturi pentru a găsi zboruri ieftine pe Gemeni

Sfaturi pentru a găsi zboruri ieftine pe Gemeni

Widgeturile de pe Gemini ajută acest asistent AI să ajungă la utilizatori în mai multe aspecte, cum ar fi găsirea de bilete de avion ieftine prin widgetul Google Flights.

Parametrii de returnare numiți în Golang

Parametrii de returnare numiți în Golang

În Golang, parametrii de returnare numiți sunt adesea denumiți ca parametri numiți. Golang permite denumirea parametrilor returnați sau a rezultatelor funcțiilor în semnătura sau definiția funcției.

Instrucțiuni pentru setarea imaginii de fundal pentru chat pe WhatsApp

Instrucțiuni pentru setarea imaginii de fundal pentru chat pe WhatsApp

WhatsApp are o funcție de schimbare a imaginii de fundal pentru chat, care permite utilizatorilor să seteze teme de chat pe WhatsApp. Utilizatorii vor putea alege dintre 30 de fundaluri diferite pentru chat-urile lor sau vor putea folosi imaginile personale ca fundaluri de chat pe WhatsApp.

Ce este un fișier FLV? Cum se deschid fișierele FLV pe computer?

Ce este un fișier FLV? Cum se deschid fișierele FLV pe computer?

Descărcați adesea videoclipuri de pe Internet pe computer pentru a le viziona offline și pentru a vedea adesea fișiere FLV. Te chinui să-ți dai seama cum să le deschizi? Astăzi, vă vom oferi informații despre fișierele video FLV în articolul de mai jos.

Cum să vizualizați arhiva de știri pe telefonul Facebook, computer

Cum să vizualizați arhiva de știri pe telefonul Facebook, computer

Pentru a revizui știrile postate pe Facebook, trebuie să activați arhiva de știri pe Facebook. Toate mesajele Facebook după activarea modului de arhivare vor fi salvate în arhivă pentru ca tu să le examinezi oricând ai nevoie.

Cel mai recent cod MU Luc Dia VNG și cum să răscumpărați codul

Cel mai recent cod MU Luc Dia VNG și cum să răscumpărați codul

Puteți schimba codurile de joc MU Luc Dia VNG pentru Zen și alte valute.

10 aplicații indispensabile pentru iubitorii de cărți

10 aplicații indispensabile pentru iubitorii de cărți

Doar pentru că nu ai o carte despre tine nu înseamnă că trebuie să te oprești din citit. Tot ce ai nevoie este telefonul tău pentru a încerca aplicațiile de social media dedicate iubitorilor de cărți și pentru a găsi următoarea carte pe care vrei să o citești.

Aflați despre Spotify Connect: Funcția Spotify care îi obligă pe utilizatori să părăsească YouTube Music

Aflați despre Spotify Connect: Funcția Spotify care îi obligă pe utilizatori să părăsească YouTube Music

Capacitatea de a controla redarea muzicii pe un dispozitiv de pe altul este o caracteristică subestimată. Muzică YouTube nu are această funcție - și asta îi obligă pe oameni să apeleze la Spotify.

Cum să faci un bulgăre de zăpadă să explodeze în Minecraft Bedrock și Java Editon

Cum să faci un bulgăre de zăpadă să explodeze în Minecraft Bedrock și Java Editon

Comenzile Minecraft le permit jucătorilor să creeze multe efecte interesante și o opțiune interesantă este să facă bulgări de zăpadă să explodeze. Iată cum să faci bulgări de zăpadă care explodează în Minecraft.