加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 定义函数类型时,元组类型中不允许使用默认参数

发布时间:2020-12-14 05:46:43 所属栏目:百科 来源:网络整理
导读:我有这样的功能: func next(step: Int = 1){ //....} 现在我想定义一个类型别名,以便我可以轻松地传递这个函数. 但是我无法找到声明第一个参数具有默认值的方法.我尝试过这样的事情 typealias ActionNext = (step: Int = default) - ()var nextFunc: Action
我有这样的功能:
func next(step: Int = 1){
    //....
}

现在我想定义一个类型别名,以便我可以轻松地传递这个函数.

但是我无法找到声明第一个参数具有默认值的方法.我尝试过这样的事情

typealias ActionNext = (step: Int = default) -> ()

var nextFunc: ActionNext = next

但他们都给我一个错误信息

Default argument not permitted in a tuple type

有没有办法为这种函数定义一个类型?

不,那是不可能的

说明:

A type alias declaration introduces a named alias of an existing type into your program.

(步骤:Int = 1) – > ()不是一个合适的类型.例如,类型(步骤:Int) – > (),那里不允许默认值.

如果你写

typealias ActionNext = (Int) -> ()

var nextFunc: ActionNext = next

有用.或者甚至在你写作时(步骤:Int) – > ()

但我假设你想要实现的是能够调用nextFunc()省略参数并使用其默认值.这是不可能的.要理解原因,可以按照Type Alias Declaration语法 – 在类型中指定默认值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读