7.2.3 关键字mutating
实例方法除了可以获取属性进行输出以外,还可以对属性进行修改,但是和枚举一样,如果一个实例方法需要修改属性值,那么方法前面需要增加mutating关键字,否则编译器会报错。
为School添加一个增加学生数量的实例方法:

在结构体中增加一个这样的函数,回到main.swift中,我们可以做个小实验:

输出结果如下:

两种方式都可以修改学生数量,第一种通过“.”的方式直接访问结构体的属性,第二种方式通过调用实例方法来实现同样的效果。本书在这里要给读者一个小小的建议:如果一个结构体或者其他类型提供了实例方法进行属性值的修改,请默认使用实例方法,因为有可能在修改某个属性时,实例内部还有其他的变化,这是使用者不可知的。