如何在结构中省略参数名称

Posted

技术标签:

【中文标题】如何在结构中省略参数名称【英文标题】:How to omit argument name in a struct 【发布时间】:2021-10-24 06:36:01 【问题描述】:

这里是 Swift 初学者...在实例化过程中将值传递给结构实例时,有没有办法省略参数名称?我在 Swift 文档中找不到任何内容。

struct Dog 
    var _ name: String


var buddy = Dog("Buddy")

显然这不起作用。在函数中,您可以在参数名称前使用下划线来在调用期间省略它,这对于结构是否可能以某种方式实现?

【问题讨论】:

你可以写你自己的initialiser,但是你为什么不想要参数标签呢?它在告诉您参数的用途方面非常有用。 【参考方案1】:

属性总是有名字的。可能不同的是初始化程序的关键字标签。如果你不指定自己的初始化器,编译器会为你合成一个默认的memberwise initializer,它的参数标签与成员名称匹配。

如果你想改变它,你会放弃编译器提供的初始化器,并指定你自己的:

struct Dog 
    var name: String

    init(_ name: String) 
        self.name = name
    

【讨论】:

以上是关于如何在结构中省略参数名称的主要内容,如果未能解决你的问题,请参考以下文章

Apache 重写:如何避免在省略 url 结尾斜杠时显示 url 参数?

为什么Java不允许在函数声明中省略形式参数名称?

R:函数如何使用省略号 (...) 接受变量参数而不将它们复制到内存中?

Powershell 查询信息中如何将内容过多的省略号(....)显示完整

Powershell 查询信息中如何将内容过多的省略号(....)显示完整

我将如何省略名称 jones 但显示具有相同 deptno 的人