What are value types? Value types play a central role in programming languages by grouping data values.
`Value type” is a type of data copied when assigned to a new variable.
struct Storage { var data: String = "some data" } let originalStorage = Storage() var copiedStorage = originalStorage // `originalStorage` is copied to `copiedStorage` How can you pass value types? You can pass value type by copying value.
struct Storage { var data: String = "some data" } let originalStorage = Storage() var copiedStorage = originalStorage // `originalStorage` is copied to `copiedStorage` copiedStorage.data = "new data" // Changes `copiedStorage`, not `originalStorage` print("\(originalStorage.data), \(copiedStorage.data)") // prints "some data, new data" The effect of assignment, initialization, and argument passing creates an independent instance with a unique copy of its data.
...