Swift基础知识

作者: 天使和双彩虹2 | 来源:发表于2017-12-12 18:30 被阅读0次

    姓名:谢艾芳  学号:16040410073

    转自http://www.jianshu.com/p/02ab8c6c1f9f

    〖嵌牛导读〗Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序,Swift语言让应用开发更简单、更快、更稳定,确保最终应用有着更好的质量

    〖嵌牛鼻子〗Swift基础知识 Swift的编程技巧和方法

    〖嵌牛提问〗如何简单学习Swift基本编程语言?

    〖嵌牛正文〗

    Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序,Swift语言让应用开发更简单、更快、更稳定,确保最终应用有着更好的质量更多了解Swift可以去 《The Swift Programming Language》中文版,这次分享给大家是Swift基础知识,如果你耐心看完本篇文章,并且可以理解Swift的编程技巧和方法,恭喜你可以顺利的使用Swift开发了,已经掌握了Swift的基本语法,想要真正从事苹果开发,还需要在以后的学习中不断探索和挖掘Swift

    在接下来的文章中,直接深入主题,不做过多没必要的文字说明,提高大家阅读和吸收能力

    一、常量和变量

    常量:使用let来定义常量,定义之后不可以修改

    变量:使用var来定义变量,定义之后可以修改

    在使用过程中建议先定义常量,如果需要修改再修改为变量

    import UIKit

    let a : Int = 10

    var b : Int = 20

    b = 30 变量可以修改

    // a = 20是错误的,常量是不能修改的

    二、数据类型

    1、类型介绍

    Swift中的数据类型也有:整型/浮点型/对象类型/结构体类型等,整型分为有符号整型和无符号整型,例如Int、UInt,浮点型分为Float和Double

    // 定义一个Int类型

    var m : Int = 10

    // 定义一个Double类型

    let n : Double = 3.14

    2、类型推导

    Swift是强类型的语言,Swift中任何一个标识符都有明确的类型,如果定义一个标识符时有直接进行赋值,那么标识符后面的类型可以省略,Swift会自动根据后面的赋值来决定前面的标识符的数据类型,同时可以通过option+鼠标左键来查看变量的数据类型

    Swift会自动识别a是整数,如果之后再赋值给a一个其他类型(比如浮点型)数值,则会报错

    var a = 20

    // 正确写法

    var b = 3.33

    b = 6.66

    3、基本运算

    Swift中在进行基本运算时必须保证类型一致,否则会出错,相同类型之间才可以进行运算,Swift中没有隐式转换

    Swift中数据类型的转化,Int类型转成Double类型是Double(标识符),Double类型转成Int类型是Int(标识符)

    let a = 12

    let b = 3.14

    // 错误写法,形同类型之间才可以进行运算

    // let c = a + b

    // let c = a * b

    // 正确写法,转换类型进行运算

    let c = Double(a) + b

    let d = a + Int(b)

    三、逻辑分支

    1、分支的了解

    分支即if、switch、三目运算符等判断语句,通过分支语句可以控制程序的执行流程

    2、if分支语句

    和OC不同,Swift判断句可以不加(),在Swift的判断句中必须有明确的真假,不再有非0即真,必须有明确的Bool值,Bool有两个取值:false、true,没有Yes、NO的使用

    例1

    确定值存在的判断

    let a = 12

    // 错误写法,在Swift的判断句中必须有明确的真假,不再有非0即真

    //if a {

    //    print("a")

    //}

    // 正确写法

    if a > 9 {

        print(a)

    }

    例2

    可选类型的判断,判断如果view有值,则设置背景

    let view : UIView? = UIView()

    // 错误写法

    //if view {

    //    view.backgroundColor = UIColor.red

    //}

    if view != nil {

        view!.backgroundColor = UIColor.red

    }

    3、三目运算符

    Swift 中的 三目 运算符和 OC 的用法是一样的

    var a = 12

    var b = 24

    var result = a > b ? a : b

    println(result)

    4、guard的使用

    guard是很重要的,在以后的开发中会经常用到,来判断该值是否是可选类型,guard在Swift2.0就出现了,与if语句非常类似,它设计的目的是提高程序的可读性

    guard语句必须带有else语句,当条件表达式为true时候跳过else语句中的内容,执行语句组内容,条件表达式为false时候执行else语句中的内容,跳转语句一般是return、break、continue和throw

    例1

    guard用法说明

    guard 条件表达式

    else {// 条换语句,走这里的都是错误的,判断不符合要求的

        break

    }

    语句组,正确的执行这里

    例2

    简单使用guard的用法

    func gotToSchool(time:Int) -> Void {

            guard time > 6 else {

                print("去上学")

                return

            }

            print("不去上学")

        }

    gotToSchool(time: 5)

    5、switch分支

    Switch作为选择结构中必不可少的语句也被加入到了Swift中,只要有过编程经验的人对Switch语句都不会感到陌生,苹果对Switch进行了大大的增强,使其拥有其他语言中没有的特性

    基本用法和OC用法一致,switch后可以不跟(),case后可以不跟break(默认会有break)

    例1

    switch对整数的判断

    let sex = 0

    switch sex {

    case 0 :

        print("男")

    case 1 :

        print("女")

    default :

        print("其他")}

    例2

    一个case判断中,可以判断多个值,多个值以,隔开

    let sex = 0

    switch sex {

    case 0, 1:

        print("正常人")

    default:

        print("其他")

    }

    例3

    希望出现之前的case穿透,则可以使用关键字fallthrough

    let sex = 0

    switch sex {case 0:

        fallthrough

    case 1:

        print("正常人")

    default:

        print("其他")

    }

    Switch支持多种数据类型

    ① 浮点型的switch判断

    let f = 3.14

    switch f {

    case 3.14:

        print("π")

    default:

        print("not π")

    }

    ② 支持字符串类型

    let m = 5

    let n = 10

    var result = 0

    let opration = "+"

    switch opration {

        case "+":

            result = m + n

        case "-":

            result = m - n

        case "*":

            result = m * n

        case "/":

            result = m / n

    default:

        result = 0

    }

    ③ switch支持区间判断

    开区间:0..<10 表示:0~9,不包括10

    闭区间:0...10 表示:0~10

    let score = 88

    switch score {

    case 0..<60:

        print("不及格")

    case 60..<80:

        print("几个")

    case 80..<90:

        print("良好")

    case 90..<100:

        print("优秀")

    default:

        print("满分")

    }

    相关文章

      网友评论

        本文标题:Swift基础知识

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