Làm cách nào để gán giá trị mặc định cho các trường cấu trúc trong Golang?

Lam Cach Nao De Gan Gia Tri Mac Dinh Cho Cac Truong Cau Truc Trong Golang



Golang là một ngôn ngữ lập trình hiện đại đã trở nên phổ biến trong những năm gần đây. Một trong những tính năng mạnh mẽ của Golang là khả năng xác định và thao tác cấu trúc. cấu trúc là các kiểu dữ liệu do người dùng định nghĩa cho phép các nhà phát triển nhóm các trường dữ liệu có liên quan lại với nhau thành một đối tượng duy nhất. Trong Go, cấu trúc có thể có giá trị mặc định được gán cho các trường của chúng, giúp việc khởi tạo chúng dễ dàng hơn nhiều.

Trong bài tiểu luận này, chúng ta sẽ khám phá cách gán một giá trị mặc định cho một trường cấu trúc trong Golang.

Trường cấu trúc là gì?

Thứ nhất, cần hiểu rõ khái niệm về trường cấu trúc . Các trường cấu trúc là các biến được nhóm lại để tạo thành một cấu trúc sự vật. Mỗi trường cấu trúc có tên và kiểu dữ liệu. Ví dụ: một cấu trúc đại diện cho một người có thể có các trường như tên, tuổi và giới tính.







Làm cách nào để gán giá trị mặc định cho các trường cấu trúc trong Golang?

Giá trị mặc định có thể được chỉ định cho các trường cấu trúc trong Go bằng cách sử dụng:



  • Giá trị Zero mặc định
  • nhà xây dựng
  • chữ cấu trúc
  • Giá trị trường mặc định

1: Giá trị Zero mặc định

Trong Go, có thể gán các giá trị mặc định cho các trường cấu trúc bằng lệnh “ giá trị bằng không ' tính năng. Tính năng này tự động gán giá trị mặc định của một trong hai “ 0 ' hoặc ' SAI ” cho mọi trường chưa được khởi tạo, tùy thuộc vào loại dữ liệu. Điều này có nghĩa là bạn không cần phải đặt rõ ràng các giá trị mặc định cho từng trường trong cấu trúc, vì Go sẽ làm điều đó cho bạn.



Tính năng này có thể hữu ích khi xử lý các cấu trúc lớn có nhiều trường, vì nó giúp tiết kiệm thời gian và công sức đặt giá trị mặc định cho từng trường theo cách thủ công.





Dưới đây là một ví dụ sử dụng giá trị 0 để gán giá trị mặc định cho các trường cấu trúc:

gói chính

nhập khẩu 'fmt'

kiểu cấu trúc người {
Tên   chuỗi
Tuổi    int
Chiều cao float64
Bool IsNam
}

chức năng chính ( ) {
p1 := Người { Tên: 'John' , Tuổi: 30 }
fmt.Println ( p1.Tên )
fmt.Println ( p1.Tuổi )
fmt.Println ( p1.Chiều cao )
fmt.Println ( p1.LàNam )
}

Đoạn mã trên định nghĩa một Người cấu trúc với bốn trường: Tên, Tuổi, Chiều cao và IsMale, tất cả đều thuộc kiểu dữ liệu bool. Sau đó, chúng ta tạo một thể hiện mới của lớp Person, p1, và khởi tạo một số trường của nó bằng cách sử dụng các ký tự cấu trúc để chỉ định tên và giá trị trường. Các giá trị không mặc định đối với các trường không được đặt rõ ràng trong quá trình khởi tạo sẽ được hiển thị khi bạn in giá trị của các trường bằng cách sử dụng fmt.Println .



đầu ra

2: Nhà xây dựng

Bằng cách viết một người xây dựng chức năng cho cấu trúc, bạn cũng có thể cung cấp các giá trị mặc định cho các trường cấu trúc trong Golang. Các người xây dựng chức năng tạo một phiên bản mới của cấu trúc và đặt giá trị mặc định cho các trường của nó. Phương pháp này tiết kiệm công sức và thời gian, đặc biệt khi tương tác với các cấu trúc lớn có nhiều trường.

Dưới đây là một ví dụ về cách xác định một người xây dựng chức năng với các giá trị trường mặc định cho một cấu trúc:

gói chính

nhập khẩu 'fmt'

kiểu cấu trúc người {
Tên    chuỗi
Tuổi     int
chuỗi địa chỉ
}
func NewPerson ( ) * Người {
trở lại & Người {
Tên: 'John Doe' ,
Tuổi: 30 ,
Địa chỉ: '123 phố chính' ,
}
}
chức năng chính ( ) {
p := Người mới ( )
fmt.Println ( p.Tên, p.Tuổi, p.Địa chỉ )
}

Trong đoạn mã trên, một Người cấu trúc được xác định, cũng như người mới() chức năng, tạo ra một phiên bản mới của Người struct với các giá trị mặc định được xác định trước. Chúng tôi gọi người mới() TRONG chủ yếu() để tạo một phiên bản Person mới với giá trị trường mặc định , sau đó chúng tôi in ra các giá trị của các trường của phiên bản đó.

đầu ra

3: Cấu trúc chữ

Trong Golang, bạn có thể đặt giá trị mặc định cho các trường cấu trúc bằng cách sử dụng cấu trúc chữ cũng. Chỉ cần xây dựng một thể hiện mới của cấu trúc và đặt giá trị cho từng trường cần được khởi tạo. Nếu bạn muốn đặt giá trị mặc định cho các trường mà bạn không khởi tạo rõ ràng, bạn có thể sử dụng tính năng giá trị bằng không.

Đây là một ví dụ về cách sử dụng cấu trúc chữ để đặt giá trị trường mặc định cho cấu trúc:

gói chính

nhập khẩu 'fmt'

kiểu cấu trúc người {
Tên    chuỗi
Tuổi     int
chuỗi địa chỉ
}
chức năng chính ( ) {
p := Người {
Tên: 'John Doe' ,
Tuổi: 30 ,
}
fmt.Println ( p.Tên, p.Tuổi, p.Địa chỉ )
}

Trong đoạn mã trên, chúng tôi xác định một Người struct trong ví dụ này và tạo một phiên bản mới của nó bằng cách sử dụng các giá trị mặc định và chữ struct cho các trường của nó. một cái mới Người phiên bản được tạo trong hàm main() với một số giá trị trường được điền và các giá trị khác để trống. Kể từ khi Địa chỉ không được khởi tạo, nó sẽ nhận được chuỗi trống là giá trị mặc định cho trường này. Cuối cùng, chúng tôi in các giá trị trường của cá thể Person.

đầu ra

4: Giá trị trường mặc định

chỉ định giá trị mặc định ĐẾN trường cấu trúc trong Go là một quá trình đơn giản. Các giá trị mặc định đối với trường cấu trúc có thể được đặt bằng cú pháp tên trường: giá trị mặc định . Ví dụ, hãy xem xét định nghĩa cấu trúc sau:

kiểu cấu trúc người {
chuỗi tên
tuổi int
chuỗi giới tính
}

để gán giá trị mặc định đối với các trường của cấu trúc này, chúng ta có thể sử dụng cú pháp sau:

p := Người {
Tên: 'John Doe' ,
Tuổi: 30 ,
Giới tính: 'Nam giới' ,
}

Trong ví dụ trên, chúng ta đã gán giá trị mặc định đến các trường của cấu trúc Person. Nếu chúng ta bỏ qua bất kỳ giá trị nào trong quá trình khởi tạo, giá trị mặc định sẽ được sử dụng thay thế. Ví dụ, nếu chúng ta khởi tạo một đối tượng Person như thế này:

p := Người {
Tên: 'Jane Doe' ,
}

Đối tượng Person kết quả sẽ có giá trị mặc định đối với các trường Độ tuổi và Giới tính, tương ứng là 0 và một chuỗi trống.

Đây là một mã hoàn chỉnh minh họa quá trình trên:

gói chính
nhập khẩu 'fmt'

kiểu cấu trúc người {
Tên   chuỗi
Tuổi    int
chuỗi giới tính
}
chức năng chính ( ) {
p1 := Người {
Tên: 'John Doe' ,
Tuổi: 30 ,
Giới tính: 'Nam giới' ,
}
fmt.Println ( p1 )

p2 := Người {
Tên: 'Jeremy' ,
}
fmt.Println ( p2 )
}

Trong ví dụ trên, chúng tôi xây dựng một cấu trúc Person có ba trường: Tên, một int đại diện cho tuổi và Giới tính, một chuỗi đại diện cho giới tính. Sau đó, cú pháp khởi tạo cấu trúc được sử dụng để xây dựng hai cá thể Person, p1 và p2. p1 được khởi tạo với các giá trị “John Doe” cho Tên, “30” cho Tuổi và “Nam” cho Giới tính, đây là tất cả các giá trị đã được cung cấp rõ ràng. Vì chúng tôi không cung cấp các giá trị cho Độ tuổi và Giới tính nên các giá trị mặc định tương ứng là 0 và một chuỗi trống sẽ được gán cho chúng. p2 ban đầu được khởi tạo chỉ với trường Tên được cung cấp.

đầu ra

Phần kết luận

chỉ định giá trị mặc định trong Go là một khía cạnh thiết yếu của lập trình với ngôn ngữ này. Nó giúp đảm bảo rằng mọi phiên bản cấu trúc được tạo đều có dữ liệu mặc định được gán cho nó. Bằng cách sử dụng bất kỳ phương pháp nào được giải thích ở trên, nhà phát triển có thể đặt giá trị mặc định của các trường cấu trúc một cách hiệu quả.