扩展(Extension)
任务: 求数字的平方。
  | 
  | 
为了求5的四次方我们被迫创建变量 squaredOfFive — 高手可不喜欢被迫定义一个无用的变量。
  | 
  | 
泛型(Generics)
任务:打印输出数组内所有的元素。
居然要定义这么多函数? 菜鸟能忍高手不能忍!
  | 
  | 
For 遍历 vs While 遍历
任务:打印 5 次 大雁塔
  | 
  | 
被迫定义了变量 i 来确保打印大雁塔5次
  | 
  | 
计算属性 vs 函数
任务:计算圆的直径
上面我们创建了2个毫无关系的函数,可是直径和周长两者真的没有关系吗?
函数式编程
任务: 获取偶数。
  | 
  | 
这种for循环真是冗长,让人看的昏昏欲睡。