美文网首页
SWIFTLesson

SWIFTLesson

作者: 陆小琪 | 来源:发表于2016-10-24 08:13 被阅读0次

    //

    // main.swift

    // swiftLesson01

    //

    // Created by SZT on 2016/10/20.

    // Copyright © 2016年 SZT. All rights reserved.

    //

    //swift ⾥⾯没有头⽂件和实现⽂件,只有⼀个.swift⽂件

    //swift⾥⾯没有main的概念,程序从main.swift开始执⾏

    //swift每⼀条执⾏语句可以不⽤分号结束,多条语句在同⼀⾏的时候才需要分号区分

    //swift引⽤其他⽂件的内容直接引⽤,不⽤导头⽂件

    //print是swift⾥⾯的打印函数,效率⽐NSLog要 ⾼; 可以不使⽤占位符,拼接采⽤\()

    //变量 常量 可选类型 控制流

    import Foundation

    //变量:定义之后允许改变,通过var来表示

    //常量:定义了之后不允许改变,通过let, 常量定义出来⼀定要赋值,不赋值会出错

    //swift会根据初值来对变量/常量 进⾏⾃动推断

    //明确指明数据类型 let/var 变量名:数据类型 = 初值

    let number = 20

    let number1 = 12.3

    var number2:Int = 20

    //number2 = 34.4不允许

    //不同数据类型之间不能直接运算,必须进⾏强转

    let result:Int = Int(number1)+number2

    let result1:Double = number1 + Double(number2)

    print("result = \(result)")

    //字符Character:⽤双引号表示,单个字⺟,指明类型Character

    let cha:Character = "a"

    //字符串:String:双引号表示,多个字符

    let str = "HelloWorld"

    //可选类型:如果某⼀个变量可能为nil(空),那么这个变量就是数据可选类型,可选类型⽤ ? 进⾏表

    //打印可选类型会有optional字眼,如果要去掉optional就进⾏强制解包 !

    //var 变量名:数据类型? = 初值(也可以不给)

    var num0:Int? = 50

    //num0 = nil

    let num1:Int = 20

    //可选类型不能直接参与运算,必须进⾏强制解包之后才可以参加运算,强制解包⽤ ! 表示

    //对可选类型进⾏强制解包必须确保可选类型的值不是nil,否则对nil进⾏强制解包会导致系统奔溃

    // unexpectedly found nil while unwrapping an Optional value

    let sum = num0! + num1

    print("sum = \(sum)")

    let � = "请来的逗逼"

    //print("\(� )")

    //print("Hello\(1234), World\(5678)!")

    //布尔类型

    let flag:Bool = true//false

    //条件判断:if

    //(1)if后⾯的⼩括号可以去掉,⼤括号不能省略(即使⾥⾯只有⼀句代码)

    if flag{

    print("flag is true");

    }

    //(2)if没有⾮零即真的概念,只有true/false

    let value = 10

    if value > 0 {

    print("value > 0")

    }

    //(3)可选类型的条件判断

    var name:String? = "hello"

    //<1>: if-let/var:先判断可选类型name是否为nil(空),如果不为nil就将name进⾏强制解包后的值赋

    值给temp,然后执⾏代码段。否则的话就不执⾏

    print("name = \(name)")

    if var temp = name{

    temp += "World"

    print(temp)

    }

    //<2>if-let/var-where: 是在if-let的基础上对定义的局部变量再做⼀次判断,两个条件都满⾜的时候执⾏

    {}⾥⾯的代码块

    if let temp = name where temp == "hello"{

    print("if-let-where:name = hello")

    }

    //定义⼀个整形可选值n,如果该整形可选值不为nil的话,使⽤for循环打印n遍“你妹”

    let n:Int? = 5

    if let temp = n

    {

    for var i = 0;i < temp;i++ {

    print("你妹")

    }

    }

    //<3> guard:如果可选值count不为nil的话就强制解包后的值给temp,否则就执⾏{}⾥⾯的代码

    块,return⼀定要写

    func demo(){

    let count:Int? = 3

    guard let temp = count else{

    print("count 为nil")

    return

    }

    print(temp)

    }

    demo()

    //定义⼀个整形可选值myValue,如果该值不为nil并且是偶数的话就⽤for循环打印myValue遍

    helloWorld,否则的话就打印该数是奇数

    相关文章

      网友评论

          本文标题:SWIFTLesson

          本文链接:https://www.haomeiwen.com/subject/eszkuttx.html