假设我有一个函数,在默认参数之后有一个非默认参数,如下所示:

func f(first:Int = 100, second:Int){}

如何调用它并使用第一个参数的默认值?

推荐答案

当前编译器确实允许参数列表中间的默认参数.

操场截图

如果要使用first参数的默认值,可以这样调用函数:

f(1)

如果要为first参数提供新值,请使用其外部名称:

f(first: 3, 1)

文档explains显示,具有默认值的参数会自动指定外部名称:

如果您自己没有提供外部名称,Swift会为您定义的任何默认参数提供自动外部名称.自动外部名称与本地名称相同,就好像您在代码中的本地名称之前写了一个哈希符号一样.

Swift相关问答推荐

JSON如何解码空对象

SwiftData:线程1:&Quot;NSFetchRequest找不到实体名称';提醒&q;的NSEntityDescription

按SWIFT中每个ID的最大值进行筛选/排序

从Swift中的泛型类继承?

KMM-Swift铸造密封类

可以';t在标记为@Observable的类上使用属性包装

为什么这个快速代码不显示文本字段?

使 tabview 垂直将视图移动到右侧 swift ui

Swiftui 无法从核心数据中获取数据

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

在主要参与者中启动分离任务和调用非隔离函数之间的区别

在 macOS (Swift) 上获取 BSD 驱动器名称的最佳方法是什么?

SwiftUI - Select 器没有 Select 值

数组使用偏移量对自身执行 XOR

创建 ViewModel 时 iOS 模拟器上的黑屏

带有屏幕参数的 NSWindow 初始化程序在初始化时导致致命错误

SwiftUI Observed Object 在发布值更改时未更新

Swift - 如何更新多目录中的对象

我可以在 Swift 中为泛型类型 T 分配默认类型吗?

Swift 自定义字体 Xcode