Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- provider
- Camera
- Firebase
- controller
- globalkey
- borderRadius
- datetime
- switch
- setstate
- divider
- changenotifier
- transform
- multiprovider
- snackbar
- reference
- Snapshot
- Navigator
- permission
- runTransaction
- swift 문법
- user
- changenotifierprovider
- enum
- ListView.builder
- platformexception
- consumer
- Swift
- Stream
- signout
- 문법
Archives
- Today
- Total
코딩하는 제리
[Swift] swift 함수 본문
// 함수 기본
func 함수이름(매개변수1: 매개변수1타입, 매개변수2: 매개변수2타입) -> 반환타입 {
return 반환값
}
func sum(a: Int, b: Int) -> Int {
return a+b
}
// 반환값이 없는 함수
func printMyName(name: String) -> Void {
print(name)
}
// 또는 Void 안적어도 됨
func printMyName(name: String) {
print(name)
}
// 함수 호출
sum(a: 2, b: 3) // 5
printMyName(name: "jerry") // jerry
// 함수 매개변수 기본값 설정 (기본값을 가지는 매개변수는 뒤쪽에 위치시키는게 좋다고함)
func printMyName(name: String = "jerry") {
print("Hello \(name)!")
}
// 전달인자 레이블(Argument Label)
// 사용자의 입장에서 매개변수의 역할을 더 명확하게 표현하고 싶을 때 사용
func greeting(to friend: String, from me: String) {
print("Hello \(friend)! I'm \(me)")
}
greeting(to: "tom", from: "jerry")
// 가변 매개변수
// 전달 받을 값의 개수를 알기 어려울 때 사용. 함수당 하나만 가질 수 있다.
// 매개변수 목록에서 뒤쪽에 위치 시키는게 좋다.
func sayHelloToFriends(me: String, friends: String...) -> String {
return "Hello \(friends)! I'm \(me)"
}
print(sayHelloToFriends(me: "jerry", friends: "tom", "tom1", "tom2"))
// Hello ["tom", "tom1", "tom2"]! I'm jerry
print(sayHelloToFriends(me: "jerry"))
// Hello []! I'm jerry
// 데이터 타입으로서의 함수
// 햠수를 변수, 상수 등에 할당 가능하며 매개변수를 통해 전달도 가능
var someFunction: (String, String) -> Void = greeting(to:from:)
someFunction("tom", "jerry") // Hello tom! I'm jerry
func runAnother(function: (String, String) -> Void) {
function("tom", "jerry")
}
runAnother(function: greeting(friend:me:)) // Hello tom! I'm jerry
runAnother(function: someFunction) // Hello tom! I'm jerry
함수로부터 여러 개의 결과 반환
- 함수는 여러 결과 값들을 튜플로 감싸서 return이 가능.
- 인치 단위의 수를 매개변수로 받아 야드, 센티미터, 미터로 변환하고 이 세 개의 값을 하나의 튜플에 넣어 반환.
func sizeConverter(length: Float) -> (yards: Float, centimeters: Float, meters: Float) {
let yards = length * 0.0277778
let centimeters = length * 2.54
let meters = length * 0.0254
return (yards, centimeters, meters)
}
var lengthTuple = sizeConverter(length: 20)
print(lengthTuple.yards)
print(lengthTuple.centimeters)
print(lengthTuple.meters)
'iOS > SwiftUI' 카테고리의 다른 글
[Swift] swift 클로저 (0) | 2022.01.03 |
---|---|
[Swift]열거형(enum)/rawValue (0) | 2022.01.03 |
[Swift] swift 구조체/클래스 (0) | 2022.01.03 |
[Swift] swift 조건문/반복문 (0) | 2022.01.03 |
[Swift] swift 자료형 (0) | 2022.01.03 |
Comments