Swift2.0学习必备 - 基础语法

      学习iOS开发,swift语言 肯定是重点学习的一部分。虽然swift刚出来不久,且2.0版今年才出来,不过还好,网上的资料还算比较多,分享一个我在学习swift2.0的时候,查阅过的不错的基础语法吧。


变量类型&数值计算

1、Float/Double/Int可强制用 String() 转换,通用类型转换可用”\(var)”,String转换Int可用 Int()

2、变量名大小写区分

3、类型推断支持float=1+0.3, 但不支持float=int+0.3,即a=b(为一个整数变量)+0.3非法

4、元组类似于简单typedef,可定义不同类型数据为一组,但无指针和数组;强制类型定义不可与元素命名共存

5、赋值语句 不返回值 ,语句执行成功与否不能作为bool值赋给变量或作为判断条件,即succ=(b=a+1)非法

6、求余运算%支持实数,但 不准 !!!因为是实数操作,能用二进制表示的正确,否则无法获取正确值。如(1 % 0.25) OK, (1 % 0.2)则结果不对(0.2无法准确表示的原因)

7、基础数据类型都是结构体

8、枚举的值是case名本身,而不是Int的另称


流程控制

1、if接受 可选变量/绑定 作为判断条件,assert不行

2、assert(bool, string)的意义表示 条件不成立 的话则退出,所以判断条件要写永远成立的那种;正式版中不起作用

3、for-in循环中间用来做index的变量不需要定义,在循环内部不可改变,即使定义为变量;跟C相似的for (;;)循环(事实上不需要括号)却相反: 必须定义,循环内可变

4、case语句中,不需要写break,一个case后必须有语句;default则可以在case全范围覆盖条件时省略,否则必须写

5、case语句的判断条件可以重复,但只会执行第一个匹配

6、case中的 fallthrough 不能用在有有变量pickup的case中

7、continue & break有一个类似goto的用法,可以跳转出不止一轮循环,但只能用于循环内


字符串

1、不必关心内存,指针等问题,已封装

2、大量API使用 Foundation ,即继承自oc

3、与数组不同,其API中的 Index 是范型而不是整型

4、字符串之间可以相加,字符不行

5、每个字符都是一个 可扩展的字母集 (Extended Grapheme Clusters),可能由一个或多个Unicode标量构成,类似于偏旁部首组成一个字

6、对于字符来说,不可使用 + 运算来组成字母集,即使相加也是几个字符而不会自动生成一个;但对于字符串,会自动归集

7、使用()时,括号内不能有转义符,包括“”

8、和C语言不同,字符串并非字符数组,在Swift里 String.characters 才是和数组类似的存在,拥有类似的属性和方法


函数调用

1、返回值可以为空(Void),Void实际上是一个空的元组

2、参数可加外部参数名,有外部参数名的参数调用时必须全部强制使用外部参数;也可加默认参数值;有默认值的参数调用时必须加上外部参数名,除非强制用占位符 _ 命名外部参数名

3、可变参数最多一个且必须放在最后

4、即使参数为var,也不可改变函数外的值,需要用 inout (即传指针)

5、C中函数本质为指针,指向入口;Swift中函数为Function Type变量,可以赋值,调用,作为参数传递,作为返回值等,只要参数&返回值定义匹配即可


数组 & 字典 & 集合

1、数组可以理解为一个相同元素链表

2、可以使用 arr[a…b]=[…] 来做替换操作,甚至增加减少元素个数,但表达式中下标不能越界

3、字典存储数据对, 无序 ,不可用下标访问,但 enumerate 可以拿到一个index

4、字典的key是唯一的,相当于有对应键值的关键字集合,对应的键值可以相同

5、字典可以用 .keys & .values 来分别获取关键字和键值的数组,但只是罗列,不去重

6、遍历数组用“for i in 0.. \< arry.count”时, 记得别弄错区间!!

7、如果没有指定类型,数组 默认使用Object类型 ,本质上是OC的NSArray,且无法使用append(使用count&repeatedValue构造器除外,会自动推导类型)

8、[ [ [Type] ] ] 申明的多维数组不是严格N维矩阵,相同维度上的元素数量可以不同,且可以通过赋值改变,更像是多维链表


枚举

枚举不是单纯Int值的别名,可以是任意类型


以上就是Swift2.0中的一些语法方面的基础知识,个人觉得对初学者很有用,不清楚对你有没有用,如果你也觉得有用的话,就赶紧收藏起来吧~~


相关文章:《swift中如何使用工具来分析代码 》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容