加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift学习笔记

发布时间:2020-12-14 02:40:28 所属栏目:百科 来源:网络整理
导读:// // main.swift // swift 流程控制 // Created by jiayani on 15-10-13. // Copyright (c) 2015 年 贾娅妮 . All rights reserved. // import Foundation // swift 流程控制 /* swift 流程控制主要分为 : 顺序 分支 循环 1. 顺序:从上到下依次执行,遇到

//

// main.swift

// swift流程控制

// Created by jiayani on 15-10-13.

// Copyright (c) 2015贾娅妮. All rights reserved.

//


importFoundation


// swift流程控制

/*

swift流程控制主要分为:顺序分支循环

1.顺序:从上到下依次执行,遇到函数调用,调用完毕函数继续执行


2.分支:根据分支条件进行分支

1if{} else{}

2switch {case:...}

3.循环:循环执行,遇到结束条件

1whiledo{} while

2for infor(){}

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读