7.1.3 方法
2025年09月26日
7.1.3 方法
方法是一种函数,可以与类型关联也可以与类型的实例关联,在Swift中可以为枚举增加方法。方法是和类型关联的函数,有些语言的方法只能和类关联,但在Swift中,方法可以和枚举关联。
创建一个枚举代表汽车挡位的状态,示例代码如下:
动手写7.1.8 MethodOfEnum
控制台输出如下:
示例中的方法声明和函数是一样的,这里创建了GearBox枚举,其中有5个可能值。接着定义了一个返回当前挡位信息的方法gearBoxStatus,这是GearBox的方法(在枚举中的方法,都可以拿到一个隐式的参数self来代表当前这个枚举实例),最终这个方法返回一个String。drive()和stop()两个方法需要读者注意,这里引入了一个新知识——mutating:因为枚举是个值类型(后续章节会介绍什么是值类型),Swift中如果self是值类型,就不能在方法中修改其值;如果需要修改self值,则在方法定义前加上mutating关键字,这样就可以在方法中修改self了,不然编译器会报错。在调用了两个动作之后,打印出挡位的信息,结果的确发生了变化。