Understanding differences in types
Being aware of the available types in Swift, knowing their similarities, and, more importantly, their differences will help you make better decisions about the way you write your code. The preceding segments have listed several properties of value types and references types. More specifically, you learned a lot about classes, structs, and enums. Closures are also a reference type because they get passed around by their location in memory rather than their value, but there isn't much else to say about them in this context.
The most obvious comparison you can make is probably between structs and classes. They look very similar, but they have very different characteristics, as you have already seen. Enums are a special type altogether, they represent a value from a fixed number of possible values but are very similar to structs otherwise.
The most import difference you need to understand is the general difference between value types and reference types, and...