Swift学习(一:基础部分,基本运算符)

前言

从今天开始,我会记录Swift的学习过程,有兴趣的朋友可以跟着一起学习。在这里推荐几个学习网址,大家共勉,我的学习记录是根据第一个链接写的。

swift学习链接1
swift学习链接2

1.常量和变量
let来声明常量,用var来声明变量。

    let a = 10;
    var b = 0;

可以理解为:声明了一个名字为a常量,并给它赋值为10
声明了一个名字为b变量,并给它赋初始值为0;

可以在一行声明多个常量或变量:

    var x = 0.0, y = 0.0, z = 0.0

2.类型标注
声明常量或变量的时候可以加上类型标注

    var a : String
    a = "hello"

声明一个类型为String,名字为a的变量
给变量a赋值

可以定义多个同类型的变量

  var a, b, c:Double

3.打印输出
Swift 用字符串插值(string interpolation)的方式把常量名或者变量名当做占位符加入到长字符串中,Swift 会用当前常量或变量的值替换这些占位符。将常量或变量名放入圆括号中,并在开括号前使用反斜杠将其转义:

    print("a 的值为\(a)")

4.注释

    //这是单行注释
    /*这是多
    行注释*/

5.类型转换:Int转Double

    let three = 3
    let p = 22.11
    let w = Double(three) + p

6.布尔值

    let a = true
    let b = false

7.元组

    let htt = (404,"not found") 
    http404Error 的类型是 (Int, String),值是 (404, "Not Found")

可以将元组分解

    let (code,message) = htt
    print("this code is \(code)")
    print("this message is \(message)")

如果只需要一部分元组,分解是可以把不需要的忽略,用_标记

    let (code,_) = htt

可以用下标来访问元组中的元素

    print("this code is \(htt.0)")
    print("this message is \(htt.1)")

给元素命名,然后通过名字来获取这些元素的值:

    let htt = (code:200,message:"ok")
    print("this code is \(htt.code)")
    print("this message is \(htt.message)")

8.可选类型

    var a : Int? = 404 //a包含一个可选的Int

如果声明一个可选的常量或变量但是没有赋值,则默认为nil

  var a : String?

9.隐式解析可选类型
一个隐式解析可选类型其实就是一个普通的可选类型,但是可以被当做非可选类型来使用,并不需要每次都使用解析来获取可选值。下面的例子展示了可选类型String和隐式解析可选类型String之间的区别

    let a : String? = "hahaha"
    let b : String = a!    //需要惊叹号来获取值

    let a : String! = "hehehe"
    let b : String = a   //不需要惊叹号来获取值

注意
如果一个变量之后可能变成nil的话请不要使用隐式解析可选类型。如果你需要在变量的生命周期中判断是否是nil的话,请使用普通可选类型。

10.错误处理

    func canThrowAnerror() throws{
        //这个函数可能抛出错误
    }

一个函数可以通过在声明中添加throws关键词来抛出错误消息。当你的函数能抛出错误消息时, 你应该在表达式中前置try关键词。

    do{
        try canThrowAnerror() throws{
            //没有错误抛出 
        }
            //有错误抛出
    }

11.基本运算符

  • 赋值运算符=

  • 算术运算符 +,-,*,/
    加法运算符也可用作String的拼接:"hello,"+"world"

  • 求余运算符 a % b

  • 一元负号运算符:

      let three = -3  //three 等于 -3
      let a = -three   //a 等于 3  ,因为“--3”
    
  • 一元正号运算符:

      let two = -2    //two 等于 -2
      let a = +two  //a 等于 -2
    
  • 组合赋值运算符: +=,-=

  • 比较运算符 ==,!=,>,<,>=,<=

12.三目运算符:它的形式是:问题 ? 答案一 : 答案二

    let a = 10
    let b = 12
    let c = true
    let d = a + (c ? a : b)

13.空合运算符: a ?? b
对可选类型a进行空判断,如果a包含一个值就进行解封,否则就返回一个默认值b

表达式 a 必须是 Optional 类型。默认值 b 的类型必须要和 a 存储值的类型保持一致。

    a != nil ? a! : b   //这是空合运算符的复杂写法

当可选类型 a 的值不为空时,进行强制解封(a!),访问 a 中的值;反之返回默认值 b。

    let c = "hehe"
    var d : String?
    let e = d ?? c
    print(e) //打印出来为 "hehe"

14.区间运算符
*闭区间运算符 :a...b
包含ab(包括ab)

    for index in 1...5{
        print(index)
    }

*半开区间运算符:a..<b
包含ab但不包括b

15.逻辑运算符

  • !a
  • a && b
  • a || b

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

推荐阅读更多精彩内容