PART_A 控制流
for
for ... in
for index in 1 ... 5 { print(index) }
let names = ["cat","dog","fish"] for name in names { print(name) }
let nums = ["num1" : 1,"num2" : 2,"num3" : 3] for (num,count) in nums { print("\(num) is \(count)") } // 无序
普通for
for var x = 1(①); x <= 5(②); x++(④) { print(x)(③) } // 标注为执行顺序
while
普通while
var num = 1 while num <= 5 { print(num++) }
repeat ... while
var num = 1 repeat { print(num++) } while num <= 5
if
if
if ... else
if ... else if ... else
switch-case
每一个case后面必须包含语句,否则编译错误
case默认不用
break
来结束switch选择case可用
,
来包含多个条件case中可包含区间
...
、..<
、..>
case中可包含元组
case (_,0)
,其中_
代表所有可能的值case分支可进行值绑定:
case (let x,0)
case中可用
where
语句来判断额外的条件:case let (x,y) where x == y
let today = "Monday" switch today { case "Monday": print("today is Monday") case "Tuesday": print("today is Tuesday") case "Wednesday": print("today is Wednesday") case "Thursday","Friday": print("Don't put") default: print("404") } // today is Monday
控制转移语句
continue
:结束当前循环,进行下一次循环(如在for中)break
:直接跳至循环体结束}
fallthrough
:switch中如要贯穿就在case最后加上该句带标签的语句
:labelName : while condition
,能明确多嵌套的循环体guard
:提前退出return
:结束/返回值throw
:抛异常
检测 API 可用性
if #available(iOS 9,OSX 10.10,watchOS 9.7,*) { // } else { // }
PART_B 函数
函数定义与调用
定义
// func 函数名(参数名 : 参数类型) -> 返回值类型 func test(name : String) -> String { return "hello " + name }
调用:
print(test("catface"))
函数参数与返回值
无参:
func test() -> String
多参:
func test(str1 : String,falg : Bool) -> String
无返回值:
func test(str1 : String)
多重返回值:通过元组返回
可选元组返回类型:
func test(arr : [Int]) -> (min : Int,max : Int)?
func test(arr : [Int]) -> (min : Int,max : Int) { var currentMin = arr[0],currentMax = arr[0] for value in arr[0] ... arr.count { if value > currentMax { currentMax = value } else if value < currentMin { currentMin = value } } return (currentMin,currentMax) }
默认参数值:
func test(num : Int = 12)
可变参数:
func test(nums : Double...) -> Double
以上。如有错误和疑问,欢迎指正提出。 catface.wyh@gmail.com
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。