Swift基本语法快速一览
软硬件环境
前言Swift是Apple公司在2014年WWDC上发布的新的程序设计语言,可以与Objective-C无缝衔接,共同运行在Mac OS X、iOS和watchOS平台。之所以Apple会推出这样一门新的程序开发语言,是因为Objective-C过于古老,开发门槛相对更高,而Swift则是集当前市面上程序设计语言的诸多优点于一身,更加简单、更加高效,对扩张和巩固Apple的生态圈大有裨益。本文基于swift2.0。 关于PlaygroundPlayground是xcode的一个新功能,它能够在你敲完代码后立即显示代码执行的结果,而不需要去编译然后再打开模拟器去执行,是不是很酷?本文提到的swift语法都是在这个游乐场里进行的。 常量和变量常量的值一旦设定就不能改变,用关键字let来声明;变量的值可以随意改变,用关键字var来声明。 let MAX = 127 //常量名一般全大写 var str = "hello swift" //声明一个变量并且进行初始化,这里可以看到swift里的语句不需要用;来分隔,加上也是可以的,根据你的编码习惯而定 与其它程序设计语言不同的是,可以用unicode字符来作为常量或变量名 let π = 3.1415926 var 你好 = "世界" let ?? = "djs" 基本数据类型整数和大多数编程语言一样,整形是没有小数部分的数字,也有有符号和无符号之分,在swift中,还提供了2个全局的方法,max和min,分别用来获取对应类型的最大值和最小值 浮点数是带有小数部分的数字,也有Float和Double两种精度的表示方式,具体要看程序的需要 字符和字符串var ch: Character = "a" //声明一个字符 字符串是有序的字符类型的集合。 str2.insert("?",atIndex:str2.startIndex) //在str2的开头插入一个字符 //还有很多内置API来操作字符串,如hasPrefix检查是否有前缀,hasSuffix()检查是否有后缀,删除字符串的系列函数removeAtIndex,removeAll等等,需要的时候请自行查阅Apple的文档 布尔型Bool类型,只能取值true和false,这点跟C语言(非0为真,0为假)有点不同 数组和大多数编程语言一样,数组是相同数据类型的一个组合 元组元组是多个值的一个组合,和数组不一样的是,元组的数据类型不要求是一样的。如果想要访问某个元素,可以通过下标去访问 可选类型可选类型会有两种情况,要么有值,要么没有即为nil 如果说,确定可选类型的变量有值,可以在变量后面紧跟个!来取值 swift 2.0中提供了一个新的方法if-let来进行可选绑定 字典字典是一种存储多个相同类型的值得容器,每个元素都是一个键值对(key:value),这点很像JSON,可以通过属性keys和values来获取所有的key和value let dict: Dictionary = ["姓名":"高翔","性别":"男"] dict.keys dict.values 基本运算符像+、-、*、/、%、+=、-=、*=、/=、%=、++、——、>、>=、!=等运算符这里就不讲了,与其它语言里的都一样,主要看看swift独特的地方 a ?? b //??是空合运算符,a必须是可选类型,当a的值不为空时,表达式的值为a!,否则为b,b的类型必须要和a存储的类型一样 1...5 //开区间运算符,包括5 1..<5 //闭区间运算符,不包括5 程序控制流if语句if condition { statements } if语句后面可以跟上else语句来操作不满足if条件的情况,这点和其它语言无二 while循环var index: Int = 0 while (index < 5) { print("index:+ (index)") index++ } for 和 for-in循环//传统的for循环 for(index=0;index<=5;index++){ statements } //for-in循环 for index in 1...5 { statements } repeat-whilerepeat-while跟其它语言里的do-while循环是一样的 switch-caseswitch constant{ case value1: statements case value2,value3: statements fallthrough default: do sth } 如果多个case的执行语句一样,case之间用逗号隔开,注意到case语句里没有break语句用来跳出循环,而如果需要在执行玩一个case后,自动执行后面的case,可以使用fallthrough关键字 函数函数是用来完成特定任务的独立的代码块,swift中是这样定义函数的 let num = add(3,b: 4) swift的函数声明,比较特殊的是函数返回值的说明,需要注意。本人也更喜欢这种方式,更接近与自然语言。 函数的参数传递有传值与穿引用2中,传值时形参是实参的一份拷贝,它的改变不会影响到实参,而穿引用改变的就是实参,来看个例子 var a:Int = 3 var b:Int = 4 swap(&a,b:&b) 闭包闭包本质上是一个代码块,与函数的区别就是,这个代码块不需要被多次调用,如果某段代码会被多次用到,就需要用函数来表示。看看swift官方给出的例子 let names = ["Chris","Alex","Ewa","Barry","Daniella"]; names.sort({(s1:String,s2:String)->Bool in return s1 > s2}) 闭包的函数体部分由关键字in引入,注意看是不是跟函数非常像。 小结本文作为Swift From Scratch系列的开篇,简单介绍了下swift语言的一些基本语法。作为iOS的新进开发者,希望这个系列能够记录自己的学习历程,也希望能够帮助到一些人,仅此而已,文中如有错误,敬请指正,推荐下参考文献2的视屏教程。 参考文献
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |