//
// main.swift
// swift流程控制
// Created by jiayani on 15-10-13.
// copyright (c) 2015年贾娅妮. All rights reserved.
//
importFoundation
// swift流程控制
/*
swift流程控制主要分为:顺序分支循环
1.顺序:从上到下依次执行,遇到函数调用,调用完毕函数继续执行
2.分支:根据分支条件进行分支
(1)if{} else{}
(2)switch {case:...}
3.循环:循环执行,遇到结束条件
(1)while和do{} while
(2)for in和for(){}
4.循环分支中,控制流程的四个关键字continue break fallthrough return(多用于函数中)相关说明
*/
functestfunc()
{
//1.顺序(略)---------------------------------------------------------------------------------------
//2.分支--------------------------------------------------------------------------------------------
//声明一个Bool类型的变量赋值为true
varbgen:Bool=true
//分支
if(bgen)
{
println(bgen);
}else
}
//分支switch {case:...}
/*
特点:(1)支持任意类型的数据以及各种比较 *** 作(不仅仅是整数以及测试相等)
(2)运行switch中匹配到的子句之后,程序会退出switch语句,并不会继续向下运行,所以不需要在每个子句结尾写break如果想继续执行在原来break的位置写fallthrough即可
*/
////switch ()中的值可以是Int
varvalue=123;
switch(value)
case123:
println("1")
fallthrough;//继续执行
2:
"2")
3:
"3")
default:
"没有匹配的")
//switch ()中的值可以是字符串
switch(理想 {
case":
2":
2")
3":
3")
没有匹配的字符 //case中可以有多个匹配项
"abc")
"123":
"123");
case"456","abc""123 abc ");
没有找到合适的匹配");
// 比较 *** 作 hasSuffix函数是判断字符字符串是不是以其参数结尾
switch("理想and swift")
{
letxwherex.hasSuffix("swift")://注意此时的x的值就是switch()中的值where额外的判断条件
"swift");
");
"me");
//2.循环--------------------------------------------------------------------------------------------
//循环
//while(){}和do{}while()重复运行一段代码直到不满足条件。循环条件可以在开头也可以在结尾
vari:Int=0;
while( i<10)
i++;
println(i);
do
i--;
while(i>0);
//for in
//使用for-in循环来遍历一个集合里面的所有元素,例如由数字表示的区间、数组中的元素、字符串中的字符
forindexin1...5
"index=\(index) }
//解释...区间的意思 1...5的意思[1,5] 1..5的意思 [1,5) index是一个每次循环遍历开始时被自动赋值的常量。这种情况下,index在使用前不需要声明,只需要将它包含在循环的声明中,就可以对其进行隐式声明,而无需使用let关键字声明。index常量只存在于循环的生命周期里。如果你想在循环完成后访问index的值,又或者想让index成为一个变量而不是常量,你必须在循环之前自己进行声明。
//如果你不需要知道区间内每一项的值,你可以使用下划线(_)替代变量名来忽略对值的访问
varnum=for_ num++;
"num =\(num) //遍历字符
forstrin"ABCDE"
"str=\(str) //for(){ }
for(vari=0; i<10; i++)
"i=\(i) //4.循环分支中,控制流程的四个关键字说明--------------------------------------------------------------------------------------------
//continue语句告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。就好像在说“本次循环迭代我已经执行完了”,但是并不会离开整个循环体。
//break语句会立刻结束整个控制流的执行。当你想要更早的结束一个switch代码块或者一个循环体时,你都可以使用break语句。当在一个switch代码块中使用break时,会立即中断该switch代码块的执行,并且跳转到表示switch代码块结束的大括号(})后的第一行代码。
//fallthrough fallthrough关键字不会检查它下一个将会落入执行的case中的匹配条件。fallthrough简单地使代码执行继续连接到下一个case中的执行代码,这和C语言标准中的switch语句特性是一样的
//return在函数中具体讲
}
//调用函数
testfunc();
//执行结果:
true
1
2
理想
123 abc
swift
3
4
5
6
7
8
9
10
0
index=1
index=2
index=3
index=4
index=5
num =1
num =2
num =3
num =4
num =5
str=A
str=B
str=C
str=D
str=E
i=0
i=1
i=2
i=3
i=4
i=5
i=6
i=7
i=8
i=9
Program ended with exit code: 0
总结以上是内存溢出为你收集整理的Swift学习笔记全部内容,希望文章能够帮你解决Swift学习笔记所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)