일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 수강료0원챌린지
- eventbubbling
- 연결리스트삭제
- 이벤트캡처링
- JavaScript
- 연결리스트삽입
- Components
- 패캠인강후기
- 스위프트
- HTML
- 실패율
- swift
- 직장인인강
- 오공완
- hig
- 코딩테스트
- 연결리스트생성
- 패캠챌린지
- 환급챌린지
- 직장인자기계발
- ios
- 자료구조
- 프로그래머스
- 사이드프로젝트10개기술스택으로구현하는풀스택서버리스프로젝트withReact
- 패스트캠퍼스
- 패스트캠퍼스후기
- 이벤트버블링
- MVMM
- eventcapturing
- stopPropagation
- Today
- Total
날쌘 개발자
스위프트 기본문법 (2) 본문
본 내용은 인프런 https://www.inflearn.com/ 의
야곰님의 '야곰의 스위프트 기본문법' https://www.inflearn.com/course/%EC%8A%A4%EC%9C%84%ED%94%84%ED%8A%B8-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95/dashboard
에서 필기한 내용을 바탕으로 옮긴 내용입니다.
함수
import Swift
함수 선언
func 함수이름 (매개변수1이름 : 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) → 반환타입 {
함수 구현부
return 반환값
}
func sum(a: Int, b: Int) → Int {
return a + b
}
반환 값이 없는 함수
func 함수이름 (매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) → Void {
함수 구현부
return
}
func printMyName(name: String) → Void {
print(name)
}
func 함수이름 (매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) {
함수 구현부
return
}
func printYourName(name: String) {
print(name)
}
매개변수가 없는 함수
func 함수이름() → 반환타입 {
함수 구현부
return 반환값
}
func maximumIntegerValue() → Int {
return Int.max
}
매개변수와 반환값이 없는 함수
func 함수이름() → Void {
함수 구현부
return
}
func hello() → Void { print("hello") }
func 함수이름() {
함수 구현부
return
}
func bye() { print("bye") }
함수의 호출
sum(a: 3, b:5) // 8
printMyName(name: "hoon") // hoon
printYourName(name: "hoonsig") // hoonsig
maximumIntegerValue() // Int의 최댓값
hello() // hello
bye() // bye
함수 고급
매개변수 기본값// 함수의 매개변수에 값이 들어오지않아도 자동으로 매개변수를 갖게 되는것
매개변수 목록 중에 뒤쪽에 위치하는 것이 좋음
func 함수이름( 매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 = 매개변수 기본값 ...) → 반환타입 {
함수 구현부
return 반환값
}
func greeting(friend: String, me: String = "hoon") {
print("Hello \(friend)! I'm \(me)")
}
매개변수 기본값을 가지는 매개변수는 생략할 수 있음
greeting(friend: "dan") // Hello dan! I'm hoon
greeting(friend: "John", me: "Eric") // Hello John! I'm eric
전달인자 레이블
함수를 호출할 때 매개변수의 역할을 좀 더 명확하게 하거나 함수 사용자의 입장에서 표현하고자 할때 사용
func greeting(to friend: String, from me: String) {
print("Hello \(friend)! I'm \(me)")
}
greeting(to: "dan", from: "hoon") // Hello dan! I'm hoon
함수를 호출할 때에는 전달인자 테이블을 사용해야 함.
함수이름이 같더라도 전달인자 여부에 따라 서로 다른함수로 취급됨.
가변 매개변수
전달 받을 값의 개수를 알기 어려울 때 사용
함수당 하나만 가질 수 있음
func 함수이름(매개변수1이름: 매개변수1타입:, 전달인자 레이블 매개변수2이름: 매개변수2타입 ...) → 반환타입 {
함수 구현부
return
}
func sayHelloToFriends(me: String, friends: String...) → String {
return "Hello \(friends)! I'm \(me)!"
}
print(sayHelloToFriends(me: "hoon", friends: "dan", "jun", "sun")) // Hello ["dan", "jun", "sun"]! I'm hoon!
print(sayHelloToFriends(me: "hoon")) // Hello [ ]! I'm hoon!
스위프트는 함수형 프로그래밍 패러다임을 포함하는 다중 패러다임 언어.
스위프트의 함수는 일급객체이므로 변수, 상수 등에 저장이 가능하고 매개변수를 통해 전달할 수도 있음.
함수의 타입표현
반환타입을 생략할 수 없음.
(매개변수1타입, 매개변수2타입 ...) → 반환타입
var someFunction: (String, String) → Void = greeting(to: from: )
타입이 다른 함수는 할당할 수 없음.
//someFunction = sayHelloToFriends(me: friends: )
'ios > 기본문법' 카테고리의 다른 글
고차함수 (0) | 2022.03.01 |
---|---|
스위프트 기본문법 (5) (0) | 2021.07.09 |
스위프트 기본문법 (4) (0) | 2021.07.09 |
스위프트 기본문법 (3) (0) | 2021.07.09 |
스위프트 기본 문법 (1) (0) | 2021.06.02 |