//: Playground - noun: a place where people can play

import UIKit// swift中没有被赋值的变量是不能被使用的
//var str : String
//str// Optionals 可选值 (用?号体现)
// 或者是一个值, 或者是没有值(没有值时为nil)

var a : Int?
a
a = 1var imOptionalVariable : String?
imOptionalVariable = "我是可选值"// 例如, 在要求用户输入年龄的时候, 用户却输入了abc
// 后台转换为年龄的时候, 可选值就有了很大的作用, 一旦转换不了就会返回nil
let userInput = "18"
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 = 18
if let bobo = rinpe {print("\(rinpe) \(bobo)")
}

转载于:https://www.cnblogs.com/Rinpe/p/5050609.html

Swift - 09 - Optionals相关推荐

  1. Swift 可选(Optionals)类型讲解

    Swift 是一种支持多编程范式和编译式的开源编程语言,苹果于2014年WWDC(苹果开发者大会)发布,用于开发 iOS,OS X 和 watchOS 应用程序. Swift 的可选(Optional ...

  2. swift可选类型_Swift可选

    swift可选类型 Swift Optional is a very important underlying concept in Swift programming. Optional is so ...

  3. swift 可选链_Swift可选链

    swift 可选链 Swift Optional Chaining is a very useful feature. Optionals are a type in Swift that wrap ...

  4. iOS开发笔记之九十四——Swift中的可选类型Optional

    一.Optional类型的概念 Swift中为何要引入Optional的概念,官方文档中有介绍: Swift also introduces optional types, which handle ...

  5. Swift 泛型教程入门

    原文:Swift Generics Tutorial: Getting Started 作者:Gemma Barlow 译者:kmyhy 更新说明:本教程由 Gemma Barlow 更新为 Swif ...

  6. 计算机基础语言学习线路图

    计算机基础语言学习线路图 HTML HTML教程 HTML简介 HTML编辑器 HTML基础 HTML元素 HTML属性 HTML标题 HTML段落 HTML样式 HTML格式化 HTML引用元素 H ...

  7. swift optionals - 1

    学习是个循序渐进的过程,万事开头难. Swift说起来简单易上手,但有一些知识要反复琢磨,多加练习,才会深入理解. Need to practise a lot and test what is Op ...

  8. Swift 系统学习 09 repeat while

    //: Playground - noun: a place where people can playimport UIKit //repeat { // //} while aValue == b ...

  9. Swift中的问号?和感叹号!

    Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化.如果在使用变量之前不进行初始化就会报错: var ...

  10. swift 多线程GCD和延时调用

    GCD 是一种非常方便的使用多线程的方式.通过使用 GCD,我们可以在确保尽量简单的语法的前提下进行灵活的多线程编程.在 "复杂必死" 的多线程编程中,保持简单就是避免错误的金科玉 ...

最新文章

  1. 关于Docker目录挂载的总结(转)
  2. python tqdm包_python tqdm库的使用
  3. python中时间处理去空格去冒号_Python实用日期时间处理方法汇总
  4. java 访问内部类的属性_java中的内部类详细总结
  5. ds哈希查找—二次探测再散列_大白话之哈希表和哈希算法
  6. 在家怎么看公司服务器上的文件,怎么查看云服务器上的文件
  7. El 表达式、jstl学习
  8. PL/SQL Developer 9.x 注册码
  9. Mysql数据类型blob存储长度
  10. 还是畅通工程 最小生成树
  11. HDU3786 找出直系亲属【关系闭包】
  12. CentOS英文环境下使用ibus输入法
  13. 新零售凶猛!瑞幸B轮融资估值翻倍,背后是同城物流的暗战
  14. html 选择题代码,JS实现简单的选择题测评系统代码思路详解(demo)
  15. matlab绘制彩色图像直方图
  16. 如何保证服装ERP项目成功施行
  17. SiT9005:1 -141MHz单端扩频振荡器SSXO
  18. 利用矩阵快速幂求解斐波那契数列
  19. 华为云 如何使用华为云提供的Ubuntu镜像源
  20. 怎么使用JavaScript进行进制…

热门文章

  1. libmesh 实现 流程
  2. FindBoost 查找Boost的inlude目录和库
  3. 从OpenGL ES 2.0到Direct3D 11.1之路
  4. springmvc框架使用拦截器实现301永久重定向,其实用过滤器应该是更好
  5. Python 使用pyinstaller将py文件发布成exe程序
  6. JDBC操作数据库的基本步骤:
  7. C#基础笔记(第十天)
  8. python基本数据类型(字节字符十进制十六进制二进制转换)
  9. Android View动画
  10. 初学Flask(1)