You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift实例化结构体时如何省略传入参数的参数名

问题原因

你当前的写法不生效是因为下划线加错了位置:var _ name: String本质是把属性名定义为_,而非修改初始化参数标签。Swift 结构体自动生成的默认成员初始化器,参数标签默认和属性名完全一致,默认不支持直接省略。

实现方案

和函数省略参数标签的规则一致,你只需要自定义结构体的初始化器,在对应参数的外部标签位置加_即可,示例如下:

struct Dog {
    var name: String
    // 自定义初始化器,省略外部参数标签
    init(_ name: String) {
        self.name = name
    }
}
// 实例化时无需传入参数名
var buddy = Dog("Buddy")

补充说明

如果结构体属性较多,你可以自定义多个初始化器,同时兼容省略参数名和带参数标签的调用方式,适配不同使用场景。


内容的提问来源于stack exchange,提问作者Stoic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 00:39:04