我正在学习 Swift,但无法理解为什么这段代码是正确的:
enum Test1: String {
case value
}
let test1 = Test1.value.rawValue
但这一个是不正确的,并向我显示错误
struct MyStruct {
}
extension MyStruct: Equatable {
static func == (lhs: MyStruct, rhs: MyStruct) -> Bool {
return true
}
}
enum Test2: MyStruct {
case value
}
我浏览Swift.String
了来源,没有找到rawValue
声明。它在 Swift 中是如何工作的?是String
“自动”符合的内置类型RawRepresentable
,但所有其他类型都必须显式声明其符合性?