如何在 Golang 中使用結構體字面量建立結構體例項?
在 Golang 中,我們可以使用結構體字面量建立結構體例項,這是一種初始化新結構體的便捷且簡潔的方法。
結構體是一種複合資料型別,它將零個或多個任意型別的命名值組合在一起。它使用 type 關鍵字定義,後跟結構體的名稱及其欄位。
語法
這是一個結構體示例 -
type Person struct {
Name string
Age int
}
要使用結構體字面量建立此結構體的新例項,我們可以簡單地在花括號內指定欄位名稱和值 -
p := Person{Name: "John", Age: 30}
這將建立一個 Person 結構體的新例項,其中 Name 欄位設定為“John”,Age 欄位設定為 30。
如果我們按結構體欄位的相同順序提供值,我們也可以省略欄位名稱 -
p := Person{"John", 30}
這將建立一個 Person 結構體的新例項,其中 Name 欄位設定為“John”,Age 欄位設定為 30,順序與它們在結構體定義中出現的順序相同。
建立測試資料或使用預設值初始化結構體欄位時,結構體字面量非常有用。例如,假設我們有一個表示產品的結構體 -
type Product struct {
Name string
Price float64
Quantity int
}
我們可以使用帶有預設值的結構體字面量建立此結構體的預設例項 -
defaultProduct := Product{Name: "Untitled Product", Price: 0.0, Quantity: 1}
這將建立一個 Product 結構體的新例項,其中 Name 欄位設定為“Untitled Product”,Price 欄位設定為 0.0,Quantity 欄位設定為 1。
示例
package main
import "fmt"
type Person struct {
firstName string
lastName string
age int
}
func main() {
// Creating struct instance using a struct literal
person := Person{
firstName: "John",
lastName: "Doe",
age: 25,
}
fmt.Printf("First Name: %s\n", person.firstName)
fmt.Printf("Last Name: %s\n", person.lastName)
fmt.Printf("Age: %d\n", person.age)
}
輸出
First Name: John Last Name: Doe Age: 25
結論
結構體字面量是使用所需欄位值建立新結構體例項的簡潔方法。它可以用來初始化結構體欄位的預設值,或建立測試資料。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP