擴展可以讓我們在任何一個類型中添加新的方法。
使用on關鍵詞指定該擴展的作用域。
擴展可以為枚舉類型增加很多便於使用的方法。
///聲明一個枚舉
enum Season { spring, summer, autumn, winter }
void main(){
//接下來我們可以輸出該枚舉中所有的值
//[Season.spring, Season.summer, Season.autumn, Season.winter]
print(Season.values);
}
使用extension為該枚舉添加擴展方法,以便返回改枚舉的值對應的字符串
extension SeasonExtension on Season {
///擴展方法,為枚舉的value方法
/// this會作為擴展的方法參數傳遞,此處的index,是this.index的簡寫
String get value => ['spring', 'summer', 'autumn', 'winter'][index];
}
void main(){
//接下來我們可以輸出該枚舉中某個值對應的字符串
print(Season.summer.value);//summer
}