Swift一步步学习

Swif学习之流程控制(if, switch,for,guard

2017-07-02  本文已影响51人  coderhlt

说明

以前一直用的是oc最近才开始学习swif,特记录一下swif的学习,主要记录下oc与swif的区别。

import UIKit
//定义格式: let/var 标识符名称 : 标识符类型 = 赋值
var a : Int = 20
a = 10
let b : Double = 3.14
print("hello world")//结尾的分号可以省略
print(1);print("123');//如果一行中有多条语句,则不可省略
// 在swift中调用方法,统一使用 点语法
let rect = CGRect(x: 0, y: 0, width: 100, height: 100)
let view : UIView = UIView(frame: rect)
view.addSubview(btn)
// 如果可以根据上下文语法推断出该枚举的类型可以直接 .具体类型
let btn : UIButton = UIButton()
btn.setTitle("按钮", for: .normal)
// swift没有隐式转换,因此两种不同类型的变量运算时,必须先转换成同一类型
let m = 20
let n = 10.5
// let result = m + n 错误写法
let result1 = Double(m) + n// 将Int类型转成Double: Double(标识符)
let result2 = m + Int(n)// 将Double类型转成Int : Int(标识符)
let a : Double = 2.44
let b : CGFloat = 3.55
let result = a + Double(b) 
if a > 0 {
    print("a大于0")
}

b. 没有非0(nil)即真

if a  {错误语法
    print("a大于0")
}
if a != 0 {//必须这样,swift没有非0(nil)即真 
    print("a不等于0")
}
switch sex {
case 0:
    print("男")
    break
case 1:
    print("女")
    break
default:
    print("其它")
    break
}

b. case语句结束时,可以不加break

switch sex {
case 0:
    print("男")
case 1:
    print("女")
default:
    print("其它")
}

c.在swift中,switch后面case可以判断多个条件

switch sex {
case 0, 1:
    print("正常人")
default:
    print("非正常人")
}

d.如果希望case结束时,产生case穿透.case结束时,加上fallthrough

case 0,1:print("男")
     fallthrough
case 2:print("女1")
default:print(1)

e.判断字符串

let  a= "123"
case "1":
  print("1")
case "2":
   print("2")
case "3":
  print("3")
case "123":
  print("123")
default:
    print("不合理的操作符")
}

f.判断区间类型

let score = 88
switch score {
case 0..<60:
    print("不及格")
case 60..<80:
    print("及格")
case 80..<90:
    print("良好")
case 90...100:
    print("优秀")
default:
    print("不合理的分数")
}
for (var i = 0; i < 10; i++) {
    print(i)
}//swif3.0之后不再支持,现在这样写会报错
for i in 0..<10 {//区间遍历
    print(i)
}

// 在swift开发中,如果一个变量/常量暂停不会使用,那么可以使用_来代替

for _ in 0..<10 {
    print("hello world")
}
func oneline(age:Int){
    guard age>18 else { // 如果条件成立,者会执行后面的代码块
    print("等你满18岁再来") // 如果条件不成立,则会执行{}中的语句,并且{}中必须跟上
    return
    }
    guard a==1 else {
        print("回家拿钱去")
        return
    }
    guard b==1 else {
        print("回家拿身份证去")
        return
    }
}
oneline(age: age)
上一篇下一篇

猜你喜欢

热点阅读