Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
 
				
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à hợp lý.
 type Address struct {
      name string 
      street string
      city string
      state string
      Pincode int
}
Ở trên, từ khóa type giới thiệu một kiểu mới. Theo sau là tên của kiểu (Address) 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 ví dụ bên 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 Address, 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 name, street, city, state đượ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 ý:
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)
}
Kết quả:
{  0}
Address1:  {Akshay Dehradun 3623572}
Address2:  {Anikaa Ballia 277001}
Address3:  {Delhi  0}
Để 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)
}
Kết quả:
Car Name:  Ferrari
Car Color:  Red
Car:  {Ferrari GTC4 Black 1920}
Pointers to a s
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)
}
Kết quả:
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 để 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)
}
Kết quả:
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 kiểu khác nhau. Các cấu trúc được định nghĩa bằng từ khóa type, 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 Person mới có ba trường: Name kiểu string, Age kiểu int và Address kiểu string. Sau đó, chúng ta có thể tạo các thể hiện mới của kiểu Person 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)
}
Kết quả:
{John Doe 30 123 Main St}
		Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
 Chào ngày mới thứ 6, lời chúc thứ 6 vui vẻ
        Chào ngày mới thứ 6, lời chúc thứ 6 vui vẻ
     Hàm COUNTIFS, cách dùng hàm đếm ô theo nhiều điều kiện trong Excel
        Hàm COUNTIFS, cách dùng hàm đếm ô theo nhiều điều kiện trong Excel
     5 ứng dụng từng rất cần thiết cho đến khi Windows khiến chúng trở nên vô nghĩa
        5 ứng dụng từng rất cần thiết cho đến khi Windows khiến chúng trở nên vô nghĩa
     Cách dùng Terabox lưu trữ với 1TB miễn phí
        Cách dùng Terabox lưu trữ với 1TB miễn phí
     Sóng trong bão
        Sóng trong bão
     Cách mở Control Panel trên Windows 11
        Cách mở Control Panel trên Windows 11
     Tạo Button trong CSS
        Tạo Button trong CSS
     Giải thích ý nghĩa màu sắc của cổng USB
        Giải thích ý nghĩa màu sắc của cổng USB
     Cách tùy chỉnh Taskbar trong Windows
        Cách tùy chỉnh Taskbar trong Windows
     Cách luôn mở ứng dụng với quyền admin trên Windows 11
        Cách luôn mở ứng dụng với quyền admin trên Windows 11
     Cách tắt tìm kiếm nổi bật trong Windows 11
        Cách tắt tìm kiếm nổi bật trong Windows 11
     Firefox sắp nhận được tính năng thông minh khiến người dùng Chrome cũng phải ghen tị
        Firefox sắp nhận được tính năng thông minh khiến người dùng Chrome cũng phải ghen tị
     Vì sao âm thanh lại là yếu tố quan trọng nhất của chuột máy tính?
        Vì sao âm thanh lại là yếu tố quan trọng nhất của chuột máy tính?
     Cách khắc phục lỗi bo mạch chủ hiện đèn báo màu đỏ
        Cách khắc phục lỗi bo mạch chủ hiện đèn báo màu đỏ
     Làm thế nào để tư duy như người giàu? 13 thói quen sẽ thay đổi cuộc đời bạn
        Làm thế nào để tư duy như người giàu? 13 thói quen sẽ thay đổi cuộc đời bạn
     Cách kiểm tra phiên bản Python trên Windows, Mac và Linux
        Cách kiểm tra phiên bản Python trên Windows, Mac và Linux
     Hướng dẫn đổi mật khẩu tài khoản Windows 11
        Hướng dẫn đổi mật khẩu tài khoản Windows 11
     Cách tạo bản sao dữ liệu trong MS SQL Server
        Cách tạo bản sao dữ liệu trong MS SQL Server
     Phải làm gì khi không thể thêm lịch vào Outlook?
        Phải làm gì khi không thể thêm lịch vào Outlook?
     Hướng dẫn đăng ký lại Start Menu Windows 11
        Hướng dẫn đăng ký lại Start Menu Windows 11
    