newPerson constructs a new person struct with the given name.
This syntax creates a new struct.
You can name the fields when initializing a struct.
Omitted fields will be zero-valued.
An & prefix yields a pointer to the struct. Note that Swift does not use pointers in the same way as some other languages; instead, you use references and the inout keyword for similar behavior.
It’s idiomatic to encapsulate new struct creation in constructor functions.
Access struct fields with a dot.
Structs are mutable.
If a struct type is only used for a single value, we don’t have to give it a name. The value can have an anonymous struct type.