可选类型

nil是一个特殊的类型了和真实类型不匹配是不能赋值nil的 但开发中需要赋值nil,因此出可选类型
//常规 不常用
var name :Optional = nil
//语法糖
var name : String? = nil
//赋值
name = “a”
//取出可选类型中的值
print(name as Any)
//强制解包 危险操作 如果可选类型为nil 会崩
print(name!)
//建议强制解包前判断是否为nil
if name != nil {
print(name!)
}

//可选绑定 每次用到name都需要先解包
if let tempName = name { // 1.判断name是否有值 2.如果name有值 系统自动将name解包并赋值给tempName
print(tempName)
}

//常用写法 就近原则
if let name = name {
print(name)
}

//例子 通过字符串创建url
//let url : NSURL = NSURL(string: “www.xxx.com”) //报错 因为后面返回的事可选类型 并不是nsurl 当然你可以不指定类型
let url = NSURL(string: “www.xxx.com奥术大师”);
//let url : NSURL? = NSURL(string: “www.xxx.com”)
//let request : NSURLRequest? = NSURLRequest(url: url! as URL) //非常危险 ,强制解包 当网址有中文的时候 nil 就会崩
if let url = url {
let request = NSURLRequest(url: url as URL)
}

建议Xcode跑跑就知道了 不截图 为了方便大家粘贴复制

函数

相当于oc的方法
func 函数名(参数列表)-> 返回值类型{ //(多参数用","分割)
代码块
return 返回值
}

//没有参数 没有返回值
func about() {
print(“a”)
}
about()

func about1() -> Void {
print(“b”)
}
about1()

//没有参数 有返回值
func about2() -> String {
print(“c”)
return “d”
}
about2()

//有参数 没有返回值
func about3(str : String) {
print(str)
}
about3(str: “e”)

func callTel(number : String) {
print(“callTel:” + number)
}
callTel(number: “10086”)

//有参数 有返回值
func sum(num1 : Int, num2 : Int) -> Int {
return num1 + num2
}
sum(num1: 10, num2: 20)

//注意:默认参数 点菜直接做菜 不点菜默认上米饭
func cook(cookName : String = “米饭”) -> String {
return cookName
}
cook(cookName: “肉丝”)
cook()

//注意:可变参数 例如多个数相加
func sumM(num : Int…) -> Int {
var result = 0
for n in num {
result += n
}
return result
}
sumM(num: 10,20,30)
sumM(num:20,30)

var A = 20
var B = 30
func swapNumB(A : Int, B : Int) { //3.0 就在参数中废弃了var
var A = A
var B = B
let C = A
A = B
B = C
print(“A = (A) B = (B)”)
}
swapNumB(A: A, B: B)
print(“A = (A) B = (B)”)

func swapNum( A : inout Int, B : inout Int) {
let temp = A
A = B
B = temp
}
swapNum(A: &A, B: &B)
print(“A = (A) B = (B)”)

//函数的嵌套使用
func test() {
func test1() {
print(“test1”)
}
print(“test”)
test1()
}
test()

Swift 5.0 (二) 可选类型 、函数相关推荐

  1. 《从零开始学Swift》学习笔记(Day 7)——Swift 2.0中的print函数几种重载形式

    原创文章,欢迎转载.转载请注明:关东升的博客 Swift 2.0中的print函数有4种重载形式: print(_:).输出变量或常量到控制台,并且换行. print(_:_:).输出变量或常量到指定 ...

  2. 初探swift语言的学习笔记二(可选类型?和隐式可选类型!)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/28904115 转载请注明出处 如果觉得文章对你有所帮助,请通过留言 ...

  3. Object-C---gt;Swift之(二)可选类型

    可选和nil的恋情 先看一个例子吧!let str="hello world"let num:Int=Int(str) 这两行代码的意思str字符串转换成Int类型,嘿嘿!这不是坑 ...

  4. Swift之深入解析可选类型Optional的底层原理

    一.Optional 简介 Swift 的可选(Optional)类型,用于处理值缺失的情况,可选表示"那儿有一个值,并且它等于 x "或者"那儿没有值". S ...

  5. Swift 3.0 (二)

    一:函数 1.1无参数无返回值的简单函数 1 func sendMessage(){ 2 3 let message = "Hey, Guys!" 4 5 print(messag ...

  6. Swift中的可选类型(Optional)

    为什么80%的码农都做不了架构师?>>>    Swift中的可选类型(Optional) ##什么是Optional Optional在Swift中表示可选类型,那么什么是可选类型 ...

  7. 苹果iOS开发系列--详解Swift 3.0语言的重大变化

    概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行 ...

  8. Swift 3.0 on Ubuntu 15.10

    一.安装swift 3.0 1. 下载 https://swift.org/download/ 找到swift-3.0 ubuntu 15.10版本下载: https://swift.org/buil ...

  9. Swift3.0可选类型(Optional)倾心总结

    本篇主要对Swift3.0版本的可选类型经常使用的场景及注意点加以总结,当做以后可以随时翻译的资料:因为本篇为自己编码时候的总结,难免会有遗漏,希望广大读者加以补充 Swift3.0 Optional ...

最新文章

  1. C++的类什么时候需要虚析构函数
  2. 全面剖析linux【bind】服务お理论篇
  3. python berkeley DB操作——打开btree索引文件中的database
  4. Android layout布局属性、标签属性总结大全
  5. JavaScript 中常见设计模式整理
  6. python---图表的使用
  7. C# 中关于汉字与16进制转换的代码
  8. Swift - 实现tableView单选系统样式
  9. 单片机编程软件很简单(24),keil单片机编程软件仿真、调试技巧+常见错误
  10. 计算机网络可以划分几个阶段,计算机网络的发展可以划分为几个阶段.doc
  11. ModHOMM3 使用说明
  12. 网络安全职业_如何开始网络安全职业
  13. 带有下标的赋值维度不匹配。
  14. CVE-2014-6271 “破壳“ 漏洞
  15. ElasticSearch健康检查localhost:9200 not reachable
  16. 在国企的 Java 程序员是一种什么样的体验?让我来告诉你吧!
  17. 用模拟退火算法求解TSP问题
  18. 从语义分析到操作系统,图灵机器人明年就能走进你家?
  19. 微信小程序选择图片和预览图片
  20. 浏览器趋势2015年2月:美国IE8反弹

热门文章

  1. GLES2.0中文API-glGetUniformLocation
  2. 诺基亚Lumia 900拥有惊人的快的方式连接
  3. java读入一个不确定长度的一维数组
  4. Java快速上手的编程套路
  5. 红外图像非均匀矫正——一点矫正
  6. WebShell箱子简介与原理
  7. 强大的python中如何画出美观的散点图
  8. ICMAX解析闪存芯片中原片、白片、黑片如何来的,在SSD中有什么影响
  9. 华为服务器XH628配置软RAID
  10. bls12 curve生成器,可生成ZCash sapling版本中所使用的BLS12-381曲线