Znajdź błąd w języku 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 hoợp các mục có thể có các kiểu khác nhau thành một kiểu duy nhất. Bất kỳ thực thể nào trong thế giới thực có mot số thuộc tính/trường nào đó đều có thể được biểu diễn dưới dạng struct . Khai 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.

Znajdź błąd w języku 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 mot địa chỉ cấu truc duy nhất như được hiển thị ben dưới là hop lý.

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

Ở trên, từ khóa typu giới thiệu mot kiểu moi. 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 ben 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 ví dụ ben dưới:

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

Đoạn code trên tạo ra một biến có kiểu Adres , 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úng. Vì vậy, các trường nazwa, ulica, miasto, stan được đặt thành „” , và Pincode được đặt thành 0 . Bạn cũng có thể khởi tạo mot biến có kiểu struct bằng cách sử dụng struct dosłowne như minh họa ben dưới:

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

Ludź ý:

  • 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ỉ mot tập hop con các trường với cú pháp trên.
  • Idź cũng hỗ trợ cú pháp nazwa: wartość để 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 hop 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 chúng. Vi 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)
}

Co to jest:

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

Cách truy cap các trường cua 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ử kropka (.).

Zobacz co:

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

Co to jest:

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

Contro toi 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ộ nhớ của mot 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)
}

Co to jest:

First Name: Sam
Age: 55

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

Co to jest:

First Name:  Sam
Age:  55

Trong Go, một cấu trúc là mot kiểu du liệu tong hop nhóm lại với nhau không hoặc nhiều giá trị cua các kiểu khác nhau. Các cấu trúc được định nghĩa bằng từ khóa typ , theo sau là tên cua 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 Osoba mới có ba trường: Imię kiểu string , Wiek kiểu intAdres kiểu string . Sau đó, chúng ta có thể tạo các thể hiện moi của kiểu Osoba 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)
}

Co to jest:

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

Leave a Comment

8 rzeczy, o których nie wiedziałeś, że możesz zrobić w aplikacji Samsung Gallery

8 rzeczy, o których nie wiedziałeś, że możesz zrobić w aplikacji Samsung Gallery

Aplikacja Galeria firmy Samsung ma większe możliwości niż mogłoby się wydawać, ale może się to nie wydawać oczywiste.

Składany smartfon Microsoftu nie będzie miał zagięć

Składany smartfon Microsoftu nie będzie miał zagięć

Mówi się, że Microsoft jest coraz bliżej wypuszczenia na rynek swojego pierwszego składanego smartfona, gdy 1 października uzyskał patent na składany telefon z możliwością złożenia o 360 stopni, który nie powoduje powstawania zagnieceń na ekranie.

Google testuje niebieski znacznik wyboru w wyszukiwarce

Google testuje niebieski znacznik wyboru w wyszukiwarce

Google testuje nową funkcję weryfikacji za pomocą niebieskiego znacznika wyboru w wyszukiwarce. Funkcja ta pomoże użytkownikom unikać klikania na fałszywe lub oszukańcze linki do witryn internetowych.

Rozróżnianie Microsoft 365 i Office 2024

Rozróżnianie Microsoft 365 i Office 2024

Na pierwszy rzut oka Microsoft 365 i Office 2024 mogą wydawać się bardzo podobne, ponieważ oba zapewniają dostęp do popularnych i szeroko wykorzystywanych aplikacji firmy Microsoft.

Najnowsze kody do Elemental Dungeons i jak je wprowadzać

Najnowsze kody do Elemental Dungeons i jak je wprowadzać

Kody Elemental Dungeons są niezbędną formą nagrody dla graczy. Podobnie jak w przypadku każdej innej gry online w Robloxie, gracze mogą otrzymywać te asysty w zamian za pieniądze lub inne przedmioty.

Jak powtórzyć pasek tytułu tabeli w programie Word

Jak powtórzyć pasek tytułu tabeli w programie Word

Podczas drukowania dokumentu Word utwórz w nim tabelę. Powtórzenie tytułu w programie Word ułatwia jego śledzenie oraz pozwala na płynne odczytywanie tytułu dokumentu na różnych stronach, zwłaszcza w przypadku długich tytułów.

Jak tworzyć animowane wiadomości w iMessage iOS 18

Jak tworzyć animowane wiadomości w iMessage iOS 18

Nowa aplikacja iMessage w systemie iOS 18 została wzbogacona o animowane wiadomości, efekty tekstowe i wiele opcji do wykorzystania w wysyłanych wiadomościach.

Dlaczego świnie są wrogiem węży?

Dlaczego świnie są wrogiem węży?

Istnieje ciekawy fakt na temat świń, o którym nie wszyscy wiedzą: świnie są uważane za wrogów węży, ponieważ gdy te dwa zwierzęta się spotkają, większość węży stanie się pożywieniem dla świń.

Jaka jest odległość Ziemi od Jowisza – największej planety Układu Słonecznego?

Jaka jest odległość Ziemi od Jowisza – największej planety Układu Słonecznego?

Jaka jest odległość od Ziemi do Jowisza? Jeśli nie wiesz, ten artykuł dowiesz się, jak daleko Jowisz znajduje się od Ziemi.

Odkryj metagenerałów sezonu S1 2023 Lien Quan Mobile

Odkryj metagenerałów sezonu S1 2023 Lien Quan Mobile

Którzy generałowie nie są uwzględnieni w meta-grze Mobile Alliance? Przyjrzyjmy się teraz

Graves DTCL sezon 7.5: standardowe przedmioty, skład Graves Loi Long

Graves DTCL sezon 7.5: standardowe przedmioty, skład Graves Loi Long

Graves DTCL z sezonów 1, 3 i 6 kosztuje tylko 1 sztukę złota i wydaje się być po prostu dodatkowym bohaterem mającym na celu pobudzenie klanu; główna rola we wczesnej fazie gry jest nadal wykorzystywana, ale nie w zbyt dużym stopniu. Od sezonu 7.5 DTCL cena Gravesa gwałtownie wzrosła do 4 sztuk złota i zdecydowanie jest niezastąpionym wyborem, jeśli zdecydujesz się grać Thunder Dragonem lub Gunnerem.

Jak korzystać z oddzielnych dźwięków aplikacji na Samsungu

Jak korzystać z oddzielnych dźwięków aplikacji na Samsungu

W przypadku telefonów Samsung należy korzystać z osobnej aplikacji obsługującej dźwięki. Możesz na przykład słuchać muzyki z Apple Music, a telefon będzie odtwarzał dźwięk przez głośniki samochodu.

Dobre cytaty o pracy, dobre statusy o pracy inspirują Cię do osiągnięcia sukcesu

Dobre cytaty o pracy, dobre statusy o pracy inspirują Cię do osiągnięcia sukcesu

W Internecie można znaleźć wiele dobrych statusów dotyczących pracy. W tym artykule podsumujemy dobre i wartościowe statusy zawodowe.

Podpisy na rocznicę ślubu, znaczące i słodkie statusy na rocznicę ślubu

Podpisy na rocznicę ślubu, znaczące i słodkie statusy na rocznicę ślubu

Jaki jest dobry i pełen znaczenia podpis pod rocznicą ślubu? W tym artykule znajdziesz krótkie, zwięzłe podpisy pod rocznicami, które sprawią, że Twój partner zapamięta je na zawsze.

Lista najnowszych kodów Dai Hiep Phong Van i sposób ich wykorzystania

Lista najnowszych kodów Dai Hiep Phong Van i sposób ich wykorzystania

Code Dai Hiep Phong Van pomaga graczom wykorzystać atrakcyjne nagrody, nawet jeśli dopiero zaczynają poznawać świat gry.