3.1 函数式编程

// 全校学生
let allStudents: [Student] = getSchoolStudents()
// 三年二班的学生
let gradeThreeClassTwoStudents: [Student] = allStudents
.filter { student in student.grade == 3 && student.class == 2 }整体结构

Last updated

// 全校学生
let allStudents: [Student] = getSchoolStudents()
// 三年二班的学生
let gradeThreeClassTwoStudents: [Student] = allStudents
.filter { student in student.grade == 3 && student.class == 2 }
Last updated
// 三年二班的每一个男同学唱一首《一剪梅》
gradeThreeClassTwoStudents
.filter { student in student.sex == .male }
.forEach { boy in boy.singASong(name: "一剪梅") }// 三年二班学生成绩高于90分的家长上台领奖
gradeThreeClassTwoStudents
.filter { student in student.score > 90 }
.map { student in student.parent }
.forEach { parent in parent.receiveAPrize() }// 由高到低打印三年二班的学生成绩
gradeThreeClassTwoStudents
.sorted { student0, student1 in student0.score > student1.score }
.forEach { student in print("score: \(student.score), name: \(student.name)") }