feat: pointers, runes, structs

This commit is contained in:
2026-03-02 09:40:31 +01:00
parent 19516beeaa
commit e606e97045
3 changed files with 108 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
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{"Alice", 30})
// fmt.Println(person{"Fred"}) // will zero value age. Compiler don't like it actually.
fmt.Println(&person{"Ann", 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)
// If a single use struct you can omit the decalre the struct type and just use it directly on the initialization.
dog := struct {
name string
isGood bool
}{
"Mike",
true,
}
fmt.Println(dog)
}