我对Swift 的语言很陌生.

我想声明一个inline功能就像C++一样

func MyFunction(param: Int) -> Int {
    ...
}

我想这样做:

inline func MyFunction(param: Int) -> Int {
    ...
}

我试图在网上搜索,但没有找到任何相关信息,可能没有inline个关键字,但可能有另一种方法可以在Swift中内联函数.

推荐答案

Swift 1.2将包含@inline属性,参数为never__always.有关更多信息,请参阅here.

如前所述,很少需要将函数显式声明为@inline(__always),因为Swift在何时内联函数方面相当聪明.但是,在某些代码中,可能需要不内联函数.

编辑:Swift 5添加了@inlinable属性.一定要仔细阅读,因为可能会有一些问题让你无法使用.它也只适用于声明为public的函数/方法,所以它适用于那些想要为链接到您的库的人公开内联内容的人.

Swift相关问答推荐

SwiftUI加载器未覆盖UIKit导航设置中的导航栏

在swiftUI中测试取决于网络请求的Observer对象类的单元

如何根据列表中的项目数量创建多个变量?

如何分解阿拉伯字母?

可选,类似于自定义类型的初始化

SwiftData:非法try 在不同上下文中的对象之间建立关系

如何在visionOS中将模型锚定在用户头部上方?

如何在 SwiftUI 中为过渡动画保持相同的标识

如何修改下面的代码,使图像 Select 的顺序与使用快速并发的图像呈现的顺序相匹配?

我怎样才能缩短(提高效率)这段代码?

如何在一个视图控制器中创建具有相同行为的多个集合视图?

有没有更快的方法来循环浏览 macOS 上已安装的应用程序?

如何在 SwiftUI 中将图像传递到 2 个视图

ZStack 中的 ProgressView 与 View 的行为不同

使用 Swiftui 水平修剪 Shape()

不支持用作符合协议 AnyObject 的具体类型

Swift 2 中的新 @convention(c):我该如何使用它?

在 UItextfield 的右视图上添加一个按钮,文本不应与按钮重叠

Swift 3:日期与 NSDate?

类型myViewController不符合 Swift 中的协议 UIPIckerDataSource