Swift笔记2

1.元组类型

let cat =(age:4,weight:2,cocle:"black",beauty :true)

if(cat.beauty){

  printf("我就不告诉你我的小猫有 \(cat.age)岁,体重 \(cat.weight)斤");

}else{

  printf("过来让我砍死 你");

}

2.optional 拆包和绑定

var tickit = "5000000"                 //这里是有值,如果是"luoshuailuo" toInt()之后是没有值,swift中用nil表示

var money = tickit.toInt()           //string字符串转化为整形toInt()

var money1: String! = "50"          //间接拆包,在类的初始化比较常用

if tickit {

  printf("恭喜你,中了\(money!) 元人民币");   //但是这里会是谁optinal(5000000),不是我们想要的值,所以使用拆包 在money后面添加 !

}

那么如何绑定呢?绑定有什么作用? 绑定可以让我们在后续的代码中执行更多的操作(说了跟没说一样,以后补充吧)

if var temp = money  {  

  var 税后 = Double(temp ) * 0.5          //temp为int类型  0.5为double ,会报错 需要转换,为大范围double转换

  printf("恭喜你中了\(temp) 元人民币,缴纳税之后你的钱数我\(税后)")

}

3.断言 :  一般在程序调试的时候使用,设定一定的条件必须满足,否则程序立刻终止.

var age = 17

assert(age > 18," 必须大于18岁才可以玩这个游戏 ")

时间: 2024-10-08 08:52:10

Swift笔记2的相关文章

swift 笔记 (十六) —— 可选链

可选链(Optional Chaining) 我们都知道"可选型"是什么,那么可选链又是什么,举个例子解释一下: struct MyName{ var name } struct MyInfo { var myName:MyName? = MyName() } class MyClass { var structInstance: MyInfo? = MyInfo() } 这里有两个结构体和一个类,当,这个类实例化的时候: var myInstance = MyClass() 所有的可

swift笔记- 枚举

枚举是一系列相关值的通用类型,是类型安全的. Swift中的枚举不需要为每一个成员赋值,而成员的值可以是 字符串 字符 或者人意的整数或浮点值. 枚举成员可以指定任何存储成员值类型的关联值enumeration members can specify associated values of any type to be stored along with each different member value.枚举成员可以是相关的成员集合,而每个成员也可以是一个单独的小集合. 枚举跟传统的类结

swift 笔记 (十三) —— 继承

继承 一个类可以从其它类继承方法,属性以及一些特征.被继承的类叫父类,那另一种就是子类了..这个我们都懂的.. 这是一个官方给的例子,它是一个基类(Base Class),因为它没有继承任何一个类,这个类里面有一个init方法,我们暂时忽略,只要知道这是个初始化方法,在我们创建一个类的实例的时候,这个方法会被执行,下一篇笔记会详细分析. class MyCar: Vehicle {          //继承的语法 init () {                              /

swift 笔记 (二十) —— 泛型

泛型 泛型是为了解决在针对不同数据类型,而做了同一种功能的操作导致的每个类型我们都要写一份代码的问题. 有了泛型,我们可以只写一份逻辑代码,而适应于不同的数据类型. func swapInt(inout num1:Int, inout num2: Int) { var tmp = num1 num1 = num2 num2 = tmp } func swapDouble(inout num1: Double, inout num2:Double) { var tmp = num1 num1 =

swift 笔记 (十四) —— 构造过程

构造过程 为了生成类.结构体.枚举等的实例,而做的准备过程,叫做构造过程. 为了这个过程,我们通常会定义一个方法来完成,这个方法叫做构造器.当然它的逆过程,叫做析构器,用于在实例被释放前做一些清理工作以及一此自定义化的处理. 为存储型属性设置初始值 类和结构体在生成实例那一刻,必须为所有的属性赋以特定的初始值. 要么在定义存储型属性的时候直接给个初始值,否则就必须在构造器里面指定一个初始值. 上面说的这两种情况,都不会触发存储型属性的监听者行为(property observer). struc

swift笔记1-点语法

? 1 2 3 4 5 6 var firstForLoop = 0 for i in 0...3 {     firstForLoop += i     i } firstForLoop 1 两个点代表是左闭右开 即0,1,2 2 三个点代表全集合 即0,1,2,3 ? 1 2 3 4 5 6 7 func sumOf(numbers: Int...) -> Int {     var sum = 0     for number in numbers {         sum += num

swift 笔记 (十九) —— 协议

协议(Protocols) 协议仅是用定义某些任务或者是功能必须的方法和属性.类似于java里的interface的作用.但协议并不会实现具体的功能. 我猜这个名字源于OO中提到的"契约",但我并不觉得这名字很好,反而是interface这名字更容被接受,因为我觉得协议这个名字很容易和网络编程的时候的网络协议搞混,网络协议也通常简称为协议. 语法: protocol MyProtocol { //协议定义 } struct MyStruct: MyProtocol1, MyProtoc

swift 笔记 (十二) —— 下标

下标 swift允许我们为 类,结构体,枚举 定义下标,以更便捷的方式访问一大堆属性.比如Array和Dictionary都是结构体,swift的工程师已经为这两个类型提供好了下标操作的代码,所以,我们才可以通过 myArray[2]这种方式,读取和改写这个struct中保存的数据.而且,一个类型中可以定义多种下标访问方式(重载,关于重载,在后面的笔记中会提到,这里先不用太在意) 下标可以定义为"读写"型的,也可以定义为"只读"型,这种行为,是通过定义一组操作完成的

swift 笔记 (十八) —— 扩展

扩展 扩展能够让我们给一个已有的类.结构体.枚举等类型加入?新功能,包含属性和方法,甚至是构造器,下标,支持协议等等... 甚至是我们拿不到源码的类.结构体.枚举,我们依旧能够给它加扩展... 看到这里的时候,我还有点小激动呢...但是淡定下来之后,认为这TMD就是个大大的飞线,飞线,飞线...这让我们的代码难以理解全面(总要操心是不是哪里还有扩展,我没读到的..谁会不会在哪写个飞线出来以达到他不可告人的秘密,所以我们不得不在"代码规范"里写:扩展必须紧挨着类的实现写.但是拿不代码的类

从0开始学Swift笔记整理(三)

这是跟在上一篇博文后续内容: --Swift中相关的属性 存储属性 Swift中的属性分为存储属性和计算属性,存储属性就是Objective-C中的数据成员,计算属性不存储数据,但可以通过计算其他属性返回数据.存储属性可以存储数据,分为常量属性(用关键字let定义)和变量属性(用关键var定义). 存储属性概念: 我们在前面曾用到过属性,Employee类和Department结构体.它们的类图如下,Employee 的部门属性dept与Department之间进行了关联. 我们可以在定义存储属