Toy Project/Swift Language Syntax

9. Swift Structure practice

개발자킹콩 2021. 1. 21. 16:45

// 도전과제
// 1. 강의이름, 강사이름, 학생수를 가지는 구조체 만들기 (Lecture)
// 2. 강의 array와 강사이름을 받아서, 해당 강사의 강의이름을 출력하는 함수만들기
// 3. 강의 3개를 만들고, 강사이름으로 강의찾기

struct Lecture {
  let lectureName: String
  let lectureTeacher: String
  let numOfStudent: Int
}

let lec1 = Lecture(lectureName: "OS", lectureTeacher: "김호원", numOfStudent: 40)
let lec2 = Lecture(lectureName: "Database", lectureTeacher: "이기준", numOfStudent: 50)
let lec3 = Lecture(lectureName: "Opensource", lectureTeacher: "탁성우", numOfStudent: 60)

let lecs: [Lecture] = [lec1, lec2, lec3]

func printTeacher(lecs: [Lecture]){
  for lec in lecs {

    print("강의이름: \(lec.lectureName), 강사이름: \(lec.lectureTeacher)")
  }
}
printTeacher(lecs: lecs)

func printSearch(lecs: [Lecture], teacherName: String){
  // for lec in lecs {
  //   if lec.lectureTeacher == teacherName {
  //     print("보내주신 강사의 강의를 찾았습니다. \(lec.lectureTeacher)은 \(lec.lectureName)를 강의합니다.")
  //   }
  // }

  let lecName = lecs.first{(lec) -> Bool in
    return lec.lectureTeacher == teacherName
  }?.lectureName ?? ""
  print(lecName)
}

printSearch(lecs: lecs, teacherName: "이기준")

'Toy Project > Swift Language Syntax' 카테고리의 다른 글

11. Swift Property(속성)  (0) 2021.01.21
10. Swift Protocol  (0) 2021.01.21
8. Swift Structure  (0) 2021.01.21
7. Swift Closure 조금더  (0) 2021.01.21
6. Swift Closure basic  (0) 2021.01.21