如果了解Objective-C或是其他一些面向对象语言,你可能好奇于Swift中的对象1是个什么概念。在很多语言(如Objective-C)中,对象指的是一个类或一个类的实例。Swift拥有类与实例,你可以向其发送消息;不过在Swift中,1既不是类也不是实例:它是个结构体(struct)。Swift还有另外一种可以接收消息的实体,叫作枚举。
因此,Swift拥有3种对象类型:类、结构体与枚举。我喜欢称它们为对象类型的3种风格。后续内容将会介绍它们之间的差别。不过它们都是确定的对象类型,彼此之间的相似性要远远高于差异性。现在,只需知道这3种风格的存在即可。
(如果了解Objective-C,那么你会惊讶于Swift中的结构体与枚举竟然都是对象类型,不过它们并非对象。特别地,Swift中的结构体要比Objective-C的结构体更加重要,使用更为广泛。Swift与Objective-C对待结构体和枚举的不同方式在Cocoa中显得尤为重要。)