• 枚举、结构体、类


    1、枚举:

      enum 枚举名 : 初始值类型,可以是 字符、字符串、整数、浮点

      {

        枚举定义

      }

    例如:

    enum WeekDays {

      case Monday

      case Tuesday

      case Wednessday

      case Thursday

      case Friday

    }

    备注:在Swify 中 如果用switch 使用枚举时间,case 必须全面包含枚举。

    枚举中可以使用 .toRaw() 转换出初始值,例如 枚举某一个值等于4 不能直接 判断=="4",需要通过 .toRaw()="4"

    2、引用类型

    只有类是引用类型,其他类型都是 值类型包括字符串String。 引用类型比较 === 恒等于 !== 不恒等于 ,值类型比较 == 等于 != 不等于

    3、可选类型 与 可选链

    //可选类型 与 可选链

    public func Divide(n1:Int,n2 :Int)->Double?{  //当前返回类型为?号表示 返回值可以为空既 nil

        if(n2==0){

            return nil

        }else{

            return Double(n1) / Double(n2)

        }

    }

    // 调用

    public func DividePrintA(){

        // 1、这种可选类型在if或者while语句中赋值并进行判断 的写法,叫做可选绑定

        if let result : Double? = Divide(10, 2){

            println("成功")

        }else{

            println("失败")

        }

        //2、强制拆分:如果我们确定可选类型一定有值,那么在读取它的时候,可以在可选类型的后面加一个感叹号来获取该值。

        let result2 : Double? = Divide(200, 10)

        println(result2!)

        

        // 隐式拆分

        let result3 : Double! = Divide(200, 10)

        println(result3)

    }

    /// 可选链

    // employee 员工

    class Employee{

        var no :Int=0

        var name :String = "Tony"

        var job :String?

       // var dep : Department = Department()

        var dep : Department?

    }

    // Department 部门

    class Department{

        var no :Int=10

        var name : String = "DEV"

        //var comp : Company = Company()

        var comp : Company?

        

    }

    //  company 公司

    class Company{

        var no :Int=120

        var name :String = "LAN"

    }

    class SwiftDemoClassModel {

        // 方法1

        func DemoFuncA(strA :Int,strB : Int)->Int{

            return strA + strB

        }

        

        func Add(){

            var employee=Employee()

            println( employee.dep?.comp?.name ) // 采用?选择可选

        }

        

    }

    // 访问级别

    public 、internal、private

    1、public 可以访问自己模块的任何public实体(实体包含类、结构体、枚举、变量、常量、下标、元组、函数、属性)。如果使用import 语句引入其他模块,我们可以访问其他模块中public 实体。模块指一个应用程序或者一个框架。

    2、internal 只能访问自己模块中的任何internal 实体,不能访问其他模块中的internal,internal可以省略,因为默认访问级别是internal

    3、private 只能在当前源文件中使用的实体,成为私有实体。使用private 可以用作隐藏某些功能的实现细节。

    备注: 统一原则:1、如果一个类、结构体、枚举 定义为 internal、private 那么声明的变量或者常量不能是 public。2、函数访问级别不能高于它的参数或者返回类型的访问级别。

  • 相关阅读:
    UVA10740 Not the Best (K短路)
    UVA10967 The Great Escape(最短路)
    UVA 10841 Lift Hopping in the Real World(dijkstra)
    U盘启动的PE系统的制作方法
    让远程桌面支持多用户
    学习的书的下载地址
    刚安装完的vs2008写的ajax应用提示sys未定义
    AS3 Libs
    禁用触发器
    Microsoft .NET 类库开发的设计准则
  • 原文地址:https://www.cnblogs.com/pengzhaov/p/4419323.html
Copyright © 2020-2023  润新知