//: Playground - noun: a place where people can play
import UIKit
// swift中没有被赋值的变量是不能被使用的
//var str : String
//str
// Optionals 可选值 (用?号体现)
// 或者是一个值, 或者是没有值(没有值时为nil)
var a : Int?
a
a =
var imOptionalVariable : String?
imOptionalVariable = "我是可选值"
// 例如, 在要求用户输入年龄的时候, 用户却输入了abc
// 后台转换为年龄的时候, 可选值就有了很大的作用, 一旦转换不了就会返回nil
let userInput = ""
var age : Int? = Int(userInput)
if age != nil {
// 感叹号是告知编译器开发者确定可选值里面是有值的(也叫做解包)
print("your age is \(age!)")
print("your age is \(age)")
} else {
print("输入无效")
}
// 强制类型转换不能针对一个可选值进行转换
// println("your age is " + String(age))
// 更正后:
print("your age is " + String(age!))
// 可选值自动解包
// 可选绑定:可以用在if和while语句中来对可选类型的值进行判断并把值赋给一个常量或者变量
if let userAge = Int(userInput) {
// 这里不需要加感叹号
print("your age is \(userAge)")
}
var rinpe : Int?
rinpe =
if let bobo = rinpe {
print("\(rinpe) \(bobo)")
}