Swift学习:Swift by Tutorials 第一章概要

  1. 变量
  • 命名方式: var a = 1或者var a: Int = 1
  • 命名可以不指定类型,因为Swift可推测变量类型。(建议不需标明类型)
  • 一般变量声明var和常量声明let
  • 禁止变量进行默认类型转换,比如var greeting = "Hello",然后greeting = 5
  1. 字符串
  • 对于字符串的操作、函数并引入其他库来使用函数。
  1. 分号
  • 分号可加可不加,一般情况下效果由换行替代。但如果语句为同一行则必须加分号来间隔。(建议不需加上分号)
  1. 数字类型与转换
  • Swift一般会根据输入的数值大小自动为变量选择最为合适的类型。
  • 可以用_来作为千位分隔符:let million 1_000_000
  • 所有数值类型的转换都必须明确地表示。Swift库内函数一般进行操作的两个数都是同样类型。即使是Int乘以Double类型也必须明确标明,如Double(radius) * Double(radius) * pi
  • cmd+click可以查看库函数。
  • 另外一个Swift的安全措施是大小检查。如var overflow = Int.max + 1,很多编程语言的答案是一个负数,但Swift会当做Runtime error
  1. 布尔类型
  • 不能用非零数字当做true,在Swift中,必须使用Bool类型,否则库函数不接受。
  1. 元组
  • 元组的声明:var address = (1, "A")
    显式声明:var address: (Int, String) = (1, "A")
    元组的元素的使用:println(address.0)
  • Swift的安全措施:调用元组中不存在的元素会导致编译错误。
  • 可以将元组中的元素提取出来成单个元素:let (house, street) = adress
  • 可以给元组中的元素命名:var address = (number: 1, street: "A")
    使用命名的元素:println(address.number)
  • 打印的时候可以使用简化的语句:pringln("I live at \(house), \(street)"),这种方式成为string interpolation(字符串式插值)。
    或者使用:let str = I live at \(house), \(street),然后println(str)。
  1. 循环
  • for循环语法:for i in 1...5 {}...是闭区间操作符,还可以使用..<,这个操作符是半开半闭区间操作符。
  • 1...5是一个独立结构,可以使用var range = 1...5for i in range{...}来进行循环。这里range的结构实际上是:var range = Range(start: 1, end: 6)
  • range可以不仅仅是Range结构类型,还可以是数组、键-值对,也可以是String,如for i in "Swift" { println(i) }。这些类型都是可以枚举的。
  • while循环:
var i = 0
while i < 5 {
  println("\(i) - \(greeting)")
  i++
}
  1. if语句
if i ==5 {
  println("...")
} else {
  println("...")
}
  • if语句的判断条件必须是Bool类型。
  • if语句即使只有一行代码,也必须用大括号括起来。
  1. switch语句
  • 语法:
var direction = "up"
switch direction {
  case "down": 
    println(...)
  case "up": 
    println(...)
  default: 
    println(...)
}
  • Swift中的Switch语句,可以使用任意类型而不是基本类来匹配,并且可以省略break关键字。
  • 如果没有加上default关键字,则Swift会报错,并提醒最好加上default语句。
  • case语句可以这样使用:
case: "down", "up": 
case 1..<10: 

还可以将匹配条件换成元组。

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

推荐阅读更多精彩内容