swift - 为什么 Swift 类需要 init 而不是 Swift struct
问题描述
下面的代码,其中一个用于 Struct,另一个用于 Class。
我想知道为什么我们需要init
类而不是结构(尽管我们可以添加一个)?init
在课堂上需要an,但在结构上更放松,是否有任何技术原因?
struct StructTest {
private let value: Int
}
class ClassTest {
private let value: Int
init(value: Int) {
self.value = value
}
}
解决方案
结构仍然有一个初始化器。唯一的区别是在某些情况下编译器会为你合成一个“默认的成员初始化器”。
在这种情况下,它使用签名创建了一个private init(value: Int)
(private
因为您的结构有一个private
字段)
推荐阅读
- batch-file - bat读取文本获取变量
- .net - 如何在 VSTO Excel 中创建自定义任务窗格?
- android - 在 Android Studio 中看不到 Activity
- javascript - 未经授权的 API Arcgis 到 laravel 中的谷歌地图
- c# - 将 SQL 查询转换为 LINQ - 不起作用
- java - 使用 java 流设置联合和交集
- android - 在android的交错网格布局中添加水平全屏卡
- python - 在python中将相同的嵌套字典与不同的值组合起来
- android - NetInfo.getConnectionInfo() 为 android 返回未知
- groovy - 如何使用 groovy 从日期时间字段中提取时间并仅将时间修改为晚上 9:00?