Swift语言精要 - 扩展(Extension)

简介: swift的Extension用户在不访问代码的情况下扩展基本结构类型或自定义类 extension Int { var doubled : Int { return self * 2 } func multiplyWith(anotherNum...

swift的Extension用户在不访问代码的情况下扩展基本结构类型或自定义类

extension Int {
    var doubled : Int {
        return self * 2
    }
    func multiplyWith(anotherNumber: Int) -> Int {
        return self * anotherNumber
    }
}

测试代码如下:

2.doubled // = 4
4.multiplyWith(32) // = 128

 

扩展甚至还可以使类型实现某个协议

下面这个例子在其它语言看来有些怪异,但在swift来说却是稀疏平常

protocol Blinking {
    var isBlinking : Bool { get }
    var blinkSpeed: Double { get set }
    func startBlinking(blinkSpeed: Double) -> Void
}

extension Int : Blinking {
    var isBlinking : Bool {
        return false;
    }
    var blinkSpeed : Double {
        get {
            return 0.0;
        }
        set {
            // Do nothing
        }
    }
    func startBlinking(blinkSpeed : Double) {
        println("I am the integer \(self). I do not blink.")
    }
}

测试代码如下:

2.isBlinking // = false
2.startBlinking(2.0) // prints "I am the integer 2. I do not blink."

 

目录
相关文章
|
7月前
|
API Swift iOS开发
回顾Apple Swift语言的发展和版本演变历程
归纳起来,Swift的发展过程就像一个乡村孩子的成长故事,从一个不谙世事的孩子,通过不懈的学习和实践,让自身的潜力得到最大的发挥,最终成为了社会中有实力的一份子。而这个故事还在继续,让我们共同期待Swift未来的激动人心的篇章!
179 20
|
机器学习/深度学习 TensorFlow Swift
Swift语言适合多个领域的开发
Swift语言适合多个领域的开发
350 9
|
存储 安全 Swift
Swift 语言为公司电脑管理软件带来新机遇
在数字化时代,公司电脑管理软件的重要性日益凸显,Swift 语言为其带来了全新机遇。Swift 语言具备简洁、安全和高效的特点,易于学习且能有效防止程序错误和漏洞,同时充分利用硬件资源,提升程序运行速度。通过 Swift,我们可以编写代码以获取硬件信息、管理软件安装与卸载,甚至实现远程控制和数据加密等功能,极大地提高了管理效率和数据安全性,为公司电脑管理提供了强大的支持。未来,Swift 语言有望助力开发综合性电脑管理平台,集成多种功能,进一步提升工作效率和数据保护能力。
164 4
|
监控 安全 Swift
企业上网行为管理软件:Swift 语言在移动终端监控的拓展
在数字化时代,企业对员工移动终端的上网行为管理日益重视。Swift 语言在移动终端监控中展现出独特优势,包括网络状态监测、应用使用跟踪及网页浏览行为监控等功能,有效助力企业确保信息安全和提高工作效率。
200 6
|
机器学习/深度学习 人工智能 移动开发
Swift语言作为苹果公司推出的现代编程语言
Swift语言作为苹果公司推出的现代编程语言
242 8
|
安全 数据处理 Swift
深入探索iOS开发中的Swift语言特性
本文旨在为开发者提供对Swift语言在iOS平台开发的深度理解,涵盖从基础语法到高级特性的全面分析。通过具体案例和代码示例,揭示Swift如何简化编程过程、提高代码效率,并促进iOS应用的创新。文章不仅适合初学者作为入门指南,也适合有经验的开发者深化对Swift语言的认识。
323 9
|
机器学习/深度学习 安全 数据挖掘
Swift语言的应用场景非常广泛
Swift语言的应用场景非常广泛
512 4
|
安全 Swift iOS开发
Swift语言
Swift语言
301 4
|
Swift 索引 容器
Swift 泛型-扩展泛型类型
Swift 泛型-扩展泛型类型
148 2
|
Swift
Swift 扩展
Swift 扩展
95 1

相关课程

更多