From 7160d21cdc5f101deed08206d76ca217103d1cf9 Mon Sep 17 00:00:00 2001 From: Sebastian Steger Date: Wed, 20 Aug 2025 06:36:39 +0000 Subject: [PATCH] structs --- go/01-basics/12-structs.go | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 go/01-basics/12-structs.go diff --git a/go/01-basics/12-structs.go b/go/01-basics/12-structs.go new file mode 100644 index 0000000..4f9756f --- /dev/null +++ b/go/01-basics/12-structs.go @@ -0,0 +1,46 @@ +package main + +import "fmt" + +type person struct { + name string + age int +} + +func newPerson(name string) *person { + + p := person{name: name} + p.age = 42 + return &p +} + +func main() { + + fmt.Println(person{"Bob", 20}) + + fmt.Println(person{name: "Alice", age: 30}) + + fmt.Println(person{name: "Fred"}) + + fmt.Println(&person{name: "Ann", age: 40}) + + fmt.Println(newPerson("Jon")) + + s := person{name: "Sean", age: 50} + fmt.Println(s.name) + + sp := &s + fmt.Println(sp.age) + + sp.age = 51 + fmt.Println(sp.age) + + dog := struct { + name string + isGood bool + }{ + "Rex", + true, + } + fmt.Println(dog) +}