swift 面向过程 数据结构 3.1 常量和变量 定义常量和变量 let a = 1 var b = 2 显式定义和隐式定义 无需指定强类型,编译器会自动根据初始值推断出其类型.与c#相似.如果在定义时不初始化,则必须显式定义 var username:String 可选变量 类似C#的可空类型. var str1:String?//默认为nil 处理变量的可选值时,你可以在操作(比如方法.属性和子脚本)之前加?.如果?之前的值是nil,?后面的东西都会被忽略,并且整个表达式返回nil.否则,…
基础运算符 Swift的大部分运算符和C及OC相同,也分一元二元多元的,这里只记录一些Swift特有的性质或写法. 赋值运算符( = ) 在等号右边是一个有多个值的元组时,它的成员值可以分解并同时分别赋值给常量或者变量: let (x, y) = (, ) // x is equal to 1, and y is equal to 2 和C.OC不同的是,赋值运算符本身并不返回值,因此如下写法是错误的: if x = y { // this is not valid, because x = y…
Swift是苹果公司开发的一门新语言,它当然具备面向对象的许多特性,现在开始介绍Swift中类和对象的语法. 对象和类 用"class"加上类名字来创建一个类,属性声明和声明常量或者变量是一样的,只是它是在类里边声明的而已.方法和函数声明也是一样的: class Shape { var numberOfSides = 0 func simpleDescription() -> String { return "A shape with \(numberOfSides)…
Protocol(协议)用于统一方法和属性的名称,而不实现不论什么功能. 协议可以被类.枚举.结构体实现.满足协议要求的类,枚举,结构体被称为协议的遵循者. 遵循者须要提供协议指定的成员,如属性,方法,操作符,下标等. 一.协议的基本的语法 咱们还是先上代码吧 protocol Human { var name:String{ get set } var isMan:Bool{set get} class var isUsable:Bool { set get } //类成员.表示这个类是否可用…