/*-------我是帅气的分割线--------*/ /*------- 元组 -------*/ //let status: (Int,String) = (404,"Not Found") //println("statusCode = \(status.0) statusMessage = \(status.1)") // 通过位置访问元组里面的元素 let status: (statusCode: Int,statusMessage: String) = (statusCode: 404,statusMessage: "Not Found") // 根据"姓名"即名称进行访问 println("statusCode = \(status.statusCode) statusMessage = \(status.statusMessage) ") //元组分解 let (statusCode,statusMessage) = (404,"Not Found") println("statusCode = \(statusCode) statusMessage = \(statusMessage)") /*-------我是帅气的分割线--------*/ /*------------控制语句-------------*/ let firstSex = sexDic["公牛"] let isGD = firstSex == "公" if isGD { //Swift判断只 接受BOOL值 println("我是公牛") }else{ println("我是母牛") } /*-------我是帅气的分割线--------*/ //可选变量 let countStr = "33333" //let countStr = "3333das3" //为空 let count: Int? = countStr.toInt() //toInt()方法返回一个Int类型的可选变量 //法1 if count{ let realCount = count! // ! 强制解析 (拆包) println("realCount = \(realCount)") }else{ println("realCount = nil") } //法2 --------->>>> 先判断count是否有值,如果有值则把值给realCount,如果没有值则进入else分支 if let realCount = count{ println("realCount = \(realCount)") }else{ println("realCount = nil") } /*-------我是帅气的分割线--------*/ let point = (x:2, y:2) switch(point){ case(0,0): println("point 是原点") case(let x,0) where x == 2: //条件语句 println("point x= \(x) y=0 在X轴上") case(0,let y): println("point x= 0 y= \(y)在Y轴上") case(let x,let y): println("point 在其他区域") } switch(point) { case(let x, let y) where x == y: println("该点在x=y这条线上") case(let x, let y) where x == -y: println("该点在x=-y这条线上") case(let x, let y): println("该点在x=y这条线上") } let number = 12 switch(number){ case 0...9: //0...9是范围 println("number 是一个一位数") case 10...9: println("number 是一个二位数") case 100...999: println("number 是一个二位数") fallthrough //相当于C语言中不加Break效果 default: println("number 既不是也不是") } /*-------我是帅气的分割线--------*/ let tempString = "yoipllkjgad" tempName:for letter in tempString{ switch(letter){ case "a","e","i","o","u": println("letter 是一个元音字母") break tempName; //------------------>>>>跳出for循环加一个标签 default: println("letter 是一个辅音字母") } }