美文网首页
swift第一课

swift第一课

作者: DioneFlora | 来源:发表于2016-10-21 16:16 被阅读0次

    //

    // main.swift

    // swift01

    //

    // Created by DioneFlora on 16/10/20.

    // Copyright (c) 2016年 DioneFlora. All rights reserved.

    //

    swift第一课

    //swift里面没有头文件和实现文件,只有一个swift文件

    //swift里面没有main的概念,程序从main.swift开始执行

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

    //swift引用其他文件的内容直接引用,不用导头文件

    //print是swift里面的打印函数,效率比NSLog要高;可以不使用占位符,拼接采用()

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

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

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

    //swift会根据初值来对变量进行自动推断

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

    import Foundation

    let number = 20

    let number1 = 12.3

    var number2:Int = 20

    //var number2 = 25.6不允许

    //不同数据类型之间不能直接运算,必须进行强转let result = number1 + number2

    let result:Int = Int(number1) + number2

    let result1:Double = number1 + Double(number2)

    print("result = (result)")

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

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

    let cha:Character = "a"

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

    let str = "HelloWorld"

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

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

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

    var num0:Int? = 50

    //num0 = nil(如果不注释,令值为nil 崩溃,提示错误atal error: unexpectedly found nil while unwrapping an Optional value)

    let num1:Int = 20

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

    //对可选类型进行强制解包必须确保可选类型的值不是nil,否则对nil进行强制解包会导致系统崩溃(即上段注释num0……)

    let sum = num0! + num1

    print("sum = (sum)")

    let 猴子 = "请来的逗比"

    print("(猴子)")

    println("Hello, World!")

    //布尔类型

    let flag:Bool = true //false

    //条件判断:if

    //(1)if后面的小括号可以去掉,大括号不能省略(即使里面只有一句代码)

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

    if(flag){

    print("flag is true");

    }

    let value = 10

    if value > 0{

    print("value != 0")

    }

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

    var name:String? = "hello"

    //<1>:if-let/var:先判断可选类型name是否为nil,如果不为空,就将name进行强制解包后的值,赋值给temp,然后执行代码段,否则的话就不执行

    print(name)

    if let temp = name{

    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遍“hello”

    var n:Int? = 8

    if let temp = n {

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

    print("hello")

    }

    }

    //<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,否则就打印该数是奇数

    var myValue:Int? = 8

    if let temp = myValue where temp % 2 == 0 {

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

    print("helloWorld")

    }

    }else if let temp = myValue where temp % 2 == 1{

    print(temp,"该数是奇数")

    }

    //a = b ?? value

    //??是将b这个可选值进行判断,如果b不为nil则对b进行强制解包后的值给a,如果b为nil则为a提供一个默认值value

    let bilibili:Int? = nil

    let asd = bilibili ?? 3

    print("asd = (asd)")

    相关文章

      网友评论

          本文标题:swift第一课

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