Type safety and type inference

Swift is a type-safe language, which means that you are encouraged to be clear about the value types with which your code will work. Type inference means that, before your code runs, it will be able to quickly check to ensure that you did not set anything to a different type. If you do, Xcode will give you an error. Why is this good? Let's say that you have an app in the store and that you set one of your variables as a String in one part of your code, but then accidentally set the same variable as an Int in another part of your code. This error may cause some bad behavior in your app that could cause it to crash. Finding these kinds of error is like finding a needle in a haystack. Therefore, type checking helps you write safer code by helping you avoid errors when working with different types.

We have now looked at data types and know that strings are for textual data, Int for integer, Bool for boolean, and Double and Float for floating-point numbers. Let's look a bit deeper into data types and see how we can do more than just assign them to variables.