Swift 5.0 (二) 可选类型 、函数
可选类型
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 (二) 可选类型 、函数相关推荐
- 《从零开始学Swift》学习笔记(Day 7)——Swift 2.0中的print函数几种重载形式
原创文章,欢迎转载.转载请注明:关东升的博客 Swift 2.0中的print函数有4种重载形式: print(_:).输出变量或常量到控制台,并且换行. print(_:_:).输出变量或常量到指定 ...
- 初探swift语言的学习笔记二(可选类型?和隐式可选类型!)
作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/28904115 转载请注明出处 如果觉得文章对你有所帮助,请通过留言 ...
- Object-C---gt;Swift之(二)可选类型
可选和nil的恋情 先看一个例子吧!let str="hello world"let num:Int=Int(str) 这两行代码的意思str字符串转换成Int类型,嘿嘿!这不是坑 ...
- Swift之深入解析可选类型Optional的底层原理
一.Optional 简介 Swift 的可选(Optional)类型,用于处理值缺失的情况,可选表示"那儿有一个值,并且它等于 x "或者"那儿没有值". S ...
- Swift 3.0 (二)
一:函数 1.1无参数无返回值的简单函数 1 func sendMessage(){ 2 3 let message = "Hey, Guys!" 4 5 print(messag ...
- Swift中的可选类型(Optional)
为什么80%的码农都做不了架构师?>>> Swift中的可选类型(Optional) ##什么是Optional Optional在Swift中表示可选类型,那么什么是可选类型 ...
- 苹果iOS开发系列--详解Swift 3.0语言的重大变化
概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行 ...
- 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 ...
- Swift3.0可选类型(Optional)倾心总结
本篇主要对Swift3.0版本的可选类型经常使用的场景及注意点加以总结,当做以后可以随时翻译的资料:因为本篇为自己编码时候的总结,难免会有遗漏,希望广大读者加以补充 Swift3.0 Optional ...
最新文章
- C++的类什么时候需要虚析构函数
- 全面剖析linux【bind】服务お理论篇
- python berkeley DB操作——打开btree索引文件中的database
- Android layout布局属性、标签属性总结大全
- JavaScript 中常见设计模式整理
- python---图表的使用
- C# 中关于汉字与16进制转换的代码
- Swift - 实现tableView单选系统样式
- 单片机编程软件很简单(24),keil单片机编程软件仿真、调试技巧+常见错误
- 计算机网络可以划分几个阶段,计算机网络的发展可以划分为几个阶段.doc
- ModHOMM3 使用说明
- 网络安全职业_如何开始网络安全职业
- 带有下标的赋值维度不匹配。
- CVE-2014-6271 “破壳“ 漏洞
- ElasticSearch健康检查localhost:9200 not reachable
- 在国企的 Java 程序员是一种什么样的体验?让我来告诉你吧!
- 用模拟退火算法求解TSP问题
- 从语义分析到操作系统,图灵机器人明年就能走进你家?
- 微信小程序选择图片和预览图片
- 浏览器趋势2015年2月:美国IE8反弹