Question: what is difference between guard and if let?
Answer: With guard let you are creating a new variable that will exist outside the else statement. With if let you aren't creating any new variable—after the else statement, you only enter the code block if the optional is non-nil.