Basic Operators

  • 赋值运算不返回值
    if a = b 是非法的
    let a = b += 2 同样是非法的
    不同于 OC,赋值运算不再返回值,区别于(==)
  • 元组
    同时定义变量x和变量y
    let (x,y) = (1,2)
    使用附属脚本访问元组元素
    let xyz = (1,2,3) print(xyz.0,xyz.1,xyz.2)
    使用自定义前缀
    let xyz = (x:1,y:2,z:3) print(xyz.x,xyz.y,xyz.z)
  • 字符串使用“+”连接
    "hello " + "world"
  • 使用“==”比较字符串
    if name == "world"
  • 恒等于和非恒等于
    ===!==
    比较两对象是否为同一对象实例
  • 关于元组的比较
    (1 , "apple") < (2 , "zebra")
    第一个元素相比小于和大于直接返回结果,相等的时候再比较第二个元素
  • 大于小于不允许比较Bool类型
    //("blue", false) < ("purple", true) // Error because < can't compare Boolean values
  • a ?? b
    a != nil ? a! : b 的简写
  • 初始化nil变量
    var userDefinedColorName : String?
  • 使用“??”判断对象是否为nil,如果为nil使用默认值
    colorNameToUse = userDefinedColorName ?? defaultColorName
  • 使用“...”遍历,包括两端
    for index in 1...5
  • 使用“..<”遍历,不包括右端
    for i in 0..<count
    通常用来遍历数组
  • 使用“...”及“..<”作为一目运算符从某值遍历到结尾,swift4.0中新特性
    for name in names[2...]
    for name in names[...2]
    for name in names[..<2]
    let range = ...5 //小于等于5
  • 逻辑运算与oc保持一致顺序由左至右,使用括号保持可读性
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 3,871评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,180评论 19 139
  • //Clojure入门教程: Clojure – Functional Programming for the J...
    葡萄喃喃呓语阅读 3,835评论 0 7
  • 今天偶然遇见了他。偶然,真庆幸有这样一次偶然,这或许是我们最后一次见面。我不知道下次见面会是什么时候,真希望自己能...
    木水疯阅读 174评论 0 0
  • 十里竹叶林 晨雾沁沁 山在风中睡 黄叶渐碎 杯中青茗汤 好似杜康 画上昆明湖 云卷云舒
    Mazel阅读 213评论 0 0