swift - 缺少带有默认参数的声明
问题描述
此代码是否错误,或者这是一个已知问题?
final class Foo {
//@inlinable @inline(_always)
static func bar(_ first: String = "default", _ second: Int) {
print(first,second)
}
}
Foo.bar(2)
解决方案
我并不觉得某些评论的方式令人惊讶。必须始终按顺序提供参数。在完全没有标签的情况下,唯一有效的方法是提供第一个参数或两者兼而有之。因此,提供单个参数意味着您需要提供一个字符串。默认值不会更改任何内容。
错误消息像往常一样没有帮助,其他语言的行为可能有所不同,但这并不构成错误。如果有什么可抱怨的,那就是编译器应该警告原始方法声明,因为第一个参数的默认值是 otiose。
推荐阅读
- c++ - 使用模板化的arity存储在类函数中
- vue.js - 启用自动注入模式时,对子组件的 vee-validate 父 $validator 注入不起作用
- python - 在 for 循环中附加 pandas 在新列中获取不需要的值
- python - 我想知道未知的内容[警告:未知编解码器未知]
- javascript - 从对象javascript创建一个对象数组
- android - 如何知道设备HERE SDK中是否存在之前下载的离线地图
- git - 创建拉取请求后,Jenkins 管道脚本将持续运行
- cortana - cortana 是用什么语言编写的?
- xml - 如何将xml加载到draw.io图中?
- php - POST请求的PHP cURL CURLAUTH_NEGOTIATE问题