005--swift基础语法(逻辑分支)
来源:互联网 发布:多变量数据的统计描述 编辑:程序博客网 时间:2024/06/14 01:43
简单的分支 if语句
// MARK: - 简单的分支 func demo(){ let x = 10 /** 1. 条件不需要() 2. 语句必须有{} --很多公司的代码规范中,禁止不使用{} */ if x > 5{ print("大了") }else{ // Condition always evaluates to true // 永远不会执行 - 编译器编译的时候,会做语法检查 print("小了"); } }
三目的语法
func demo1(){ let x = 20 //三目的语法和OC的基本是一样的 x > 5 ? print("大了") : print("小了") //分享,有印象就行 //`()`表示空执行 x > 5 ? print("大了") : () }
func demo2(){ let x: Int? = 10 let y: Int? = 200 //强行解包有风险 print(x! + y!) }
MARK: - ??
func demo3(x:Int?,y:Int?) { /** ?? 是一个简单的三目 - 如果有值 使用值 - 如果没有值,使用??后面的值代替 */ print((x ?? 0) + (y ?? 0)) let name:String? = "老王" print((name ?? "")+"你好") //??优先级“低” 在使用的时候最好加上() print(name ?? ""+"你好") }
if let/var 连用语法
//MARK: -if let/var 连用语法,目的是判断值 func demo4(){ let oName:String? = "老王" let oAge:Int? = 10 if oName != nil && oAge != nil{ print(oName! + String(oAge!)) } // if let 连用,判断对象的值是否为nil {}内一定有值,可以直接使用,不需要解包 // if var 连用,{}可以对值进行修改 if let name = oName, let age = oAge{ //进入分支以后,name和age一定有值,不需要解包 //name 和 age 的作用域仅在{中} print(name + String(age)) } }
guard let 和 if let 刚好相反
//MARK: - guard 守卫 / 守护 //guard let 和 if let 刚好相反 func demo5(){ let oName:String? = "老王" let oAge:Int? = 10 //guard let 守护一定有值,如果没有直接返回 guard let name = oName, let age = oAge else { print("姓名或者年龄为 nil") return } // 代码执行至此,name 和 age 一定有值! // 通常判断是否有值之后,会做具体的逻辑实现,通常代码多! // 如果用 if let 凭空多了一层分支,guard是降低分支层次的办法 // guard 的语法是 Swift2.0 推出的 // guard 是Swift 2.0推出来的 print(name + String(age)) }
guard let & if let 使用技巧
//guard let & if let 使用技巧 func demo6(name: String?,age: Int?){ if let name = name , let age = age { //非空的name和age仅在花括号中有效 print(name + String(age)) } //使用同名额变量接收值,在后续使用的都是非空值,不需要解包 //好处,可以避免起名字的烦恼 guard let name = name,let age = age else { print("姓名或者年龄为nil") return } print(name + String(age)) }
阅读全文
2 0
- 005--swift基础语法(逻辑分支)
- Swift语法04.逻辑分支
- 【Swift基础】02逻辑分支
- swift基本语法(总结提炼版)之002逻辑分支
- Swift学习-逻辑分支
- swift 逻辑分支
- Swift入门 02逻辑分支
- Swift switch逻辑分支语句
- Swift基础语法(一)
- swift基础语法(一)
- swift基础语法(二)
- Swift基础语法(一)
- SWIFT基础语法(二)
- SWIFT基础语法(三)
- swift 基础语法 (一)
- Swift入门———逻辑分支
- Swift学习记录 -- 4.逻辑分支(switch)
- Swift基础语法预览(一)
- 线段树入门三道题
- HttpClient 教程 (四)
- Linux0.11内核分析三之进程调度
- java从入门到弃坑数据库二
- Spring Security 参考手册
- 005--swift基础语法(逻辑分支)
- UPnP协议介绍
- ERROR:JAVA_HOME is set to an invalid directory
- redis基础
- 欢迎使用CSDN-markdown编辑器
- hadoop中大数据全排序
- golang rename patch
- onlayout打包不成功
- Vim为特定文件载入模板