Swift is designed for safety. It eliminates many issues of compile time. Here is a list of things that Swift handles for you:
Type safety: Swift is very strongly typed language. If a function has the
Int
parameter, you must passInt
as an argument when you call it. This rule also applies to operators. Swift doesn't allow use of the wrong type:func increase(x: Int) -> Int { return x + 1 } let x = 10 let percent = 0.3 let name = "Sara" x + name //Error, can't apply + operator for Int and String x * percent //Error, can't apply * to Int and Double Double(x) * percent // 3 increase(x) // 11 increase(percent) // Wrong type increase(name) // Wrong type
Variables must always be initialized before use: Accessing non-initialized memory is a dangerous operation. Swift handles this problem in a very nice and safe way. It doesn't compile when you try to do that:
var y: Int //y + 10 //Error, variable 'y' used before being initialized y = 1 y + 10
Constant values can't be changed after they...