/* NULLも入る変数の宣言 */ var flag: Bool? var num: Int? if (flag == nil) { print("flag == NULL") } // if (flag) { // error: value of optional type 'Bool?' must be unwrapped to a value of type 'Bool' if (flag ?? false) { print("flag == true") } else { print("flag == false") } flag = true if (flag ?? false) { print("flag == true") } else { print("flag == false") } // print("num = \(num)") // warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit? print("num = \(num ?? 0)")