官术网_书友最值得收藏!

How to do it...

We will look at a different scenario where it is appropriate to have an optional variable. Melody and Finn are playing a game. In each round, Finn will hold his hand behind his back and choose a number of fingers to hold up, Melody will guess how many, and Finn will show her how many fingers he had chosen to hold up.

To help keep track of the game, Melody stores how many fingers Finn has held up in a variable. When Finn shows his hand, Melody can enter a value for the number of fingers, but when Finn's hands are behind his back, Melody doesn't know how many fingers Finn is holding up, and so can't store a value for how many fingers are being held up.

Let's enter the following code:

// Start of the game
var numberOfFingersHeldUpByFinn: Int?
// Finn's hand behind his back
numberOfFingersHeldUpByFinn = nil
// Finn shows his hand
numberOfFingersHeldUpByFinn = 3
// Finn puts hand back behind his back
numberOfFingersHeldUpByFinn = nil
// Finn shows his hand
numberOfFingersHeldUpByFinn = 1
print(numberOfFingersHeldUpByFinn)
// End of the game
let lastNumberOfFingersHeldUpByFinn: Int = numberOfFingersHeldUpByFinn!

Unlike the day of the week example, this code compiles without issues, despite the fact that we assign nil to the variable.

主站蜘蛛池模板: 铜川市| 梨树县| 太仆寺旗| 原阳县| 远安县| 疏附县| 曲靖市| 左权县| 太原市| 柘城县| 贡觉县| 芜湖市| 衢州市| 焉耆| 宁化县| 广南县| 运城市| 沂水县| 呼图壁县| 石泉县| 山丹县| 新晃| 山丹县| 蓬安县| 斗六市| 新和县| 镇江市| 彭泽县| 甘南县| 莒南县| 车险| 宁强县| 宁远县| 高清| 汝城县| 江孜县| 普兰店市| 冕宁县| 弥渡县| 喀喇| 昌吉市|