Instanziierung mit :=
Ähnlich können wir :=
verwenden, um eine Struktur zu instanziieren:
package main
import "fmt"
type Store struct {
productName string
productType string
price int
}
func main() {
lan3 := Store{}
lan3.productType = "Fresh Food"
lan3.productName = "Taiwanese Meatballs"
lan3.price = 20
fmt.Printf("lan3:\n\t%s\n\t%s\n\t%d\n",
lan3.productType, lan3.productName, lan3.price)
}
Führen Sie das Programm aus:
go run struct.go
Das Ergebnis ist wie folgt:
lan3:
Fresh Food
Taiwanese Meatballs
20
Wir können Initialisierung und Zuweisung zusammen schreiben, wie hier:
package main
import "fmt"
type Store struct {
productName string
productType string
price int
}
func main() {
lan3 := Store{
productType: "Fresh Food",
productName: "Taiwanese Meatballs",
price: 4,
}
fmt.Printf("lan3:\n\t%s\n\t%s\n\t%d\n",
lan3.productType, lan3.productName, lan3.price)
}
Führen Sie das Programm aus:
go run struct.go
Das Ergebnis ist wie folgt:
lan3:
Fresh Food
Taiwanese Meatballs
4
Wenn wir allen Feldern einer Struktur Werte zuweisen müssen, können wir die Werte in der Reihenfolge schreiben, in der sie in der Struktur definiert sind.
Beispielsweise können wir die Instanz lan3
wie folgt umschreiben:
lan3 := Store{
"Fresh Food",
"Taiwanese Meatballs",
4,
}
Hinweis: Diese Syntax ist nur für Fälle geeignet, in denen allen Feldern Werte zugewiesen werden.