반응형
제어문
For-In Loops
순서대로 순회하기 위해 사용
for index in 1...5 {
print("\(index) times 5 is \(index * 5)")
}
// 1 times 5 is 5
// 2 times 5 is 10
// 3 times 5 is 15
// 4 times 5 is 20
// 5 times 5 is 25
While
조건이 거짓일 때 까지 반복
var square = 0
var diceRoll = 0
while square < finalSquare {
// roll the dice
diceRoll += 1
if diceRoll == 7 { diceRoll = 1 }
// move by the rolled amount
square += diceRoll
if square < board.count {
// if we're still on the board, move up or down for a snake or a ladder
square += board[square]
}
}
print("Game over!")
Repeat-While
다른 언어의 do-while과 유사. 구문을 최소 한 번 이상 실행하고, 조건이 거짓일 때 까지 반복
repeat {
// move up or down for a snake or ladder
square += board[square]
// roll the dice
diceRoll += 1
if diceRoll == 7 { diceRoll = 1 }
// move by the rolled amount
square += diceRoll
} while square < finalSquare
print("Game over!")
Conditional Statements
swift에서는 if / switch 두 가지의 조건 구문을 제공
// 1. if
temperatureInFahrenheit = 90
if temperatureInFahrenheit <= 32 {
print("It's very cold. Consider wearing a scarf.")
} else if temperatureInFahrenheit >= 86 {
print("It's really warm. Don't forget to wear sunscreen.")
} else {
print("It's not that cold. Wear a t-shirt.")
}
// Prints "It's really warm. Don't forget to wear sunscreen."
// 2. switch
let someCharacter: Character = "z"
switch someCharacter {
case "a":
print("The first letter of the alphabet")
case "z":
print("The last letter of the alphabet")
default:
print("Some other character")
}
// Prints "The last letter of the alphabet"
Swift의 switch는, break를 사용하지 않아도 특정 case가 완료된다면 자동으로 switch 구문을 빠져 나옴
제어 전송 구문
- continue : 현재 loop를 중지하고, 다음 loop를 진행하도록 함.
- break : 제어문을 즉각 중지 시킴.
- fallthrough : 특정 case를 타더라도, 즉각 중지되지 않고 switch문이 진행되도록 함.
- return
- throw
함수
정의와 호출
func greet(person: String) -> String { // 파라미터와 형태를 괄호 안에, -> 는 반환하는 형태
let greeting = "Hello, " + person + "!"
return greeting
}
// 호출 시
print(greet(person: "Anna"))
함수 파라미터와 반환 값
// 1. 파라미터가 없는 형태
func sayHelloWorld() -> String {
return "hello, world"
}
print(sayHelloWorld())
// Prints "hello, world"
// 2. 복수의 파라미터를 사용하는 함수
func greet(person: String, alreadyGreeted: Bool) -> String {
if alreadyGreeted {
return greetAgain(person: person)
} else {
return greet(person: person)
}
}
print(greet(person: "Tim", alreadyGreeted: true))
// Prints "Hello again, Tim!"
// 3. 반환 값이 없는 함수
func greet(person: String) {
print("Hello, \(person)!")
}
greet(person: "Dave")
// Prints "Hello, Dave!"
// 4. 복수의 반환 값이 있는 함수
func minMax(array: [Int]) -> (min: Int, max: Int) {
var currentMin = array[0]
var currentMax = array[0]
for value in array[1..<array.count] {
if value < currentMin {
currentMin = value
} else if value > currentMax {
currentMax = value
}
}
return (currentMin, currentMax)
}
인자 생략
func someFunction(_ firstParameterName: Int, secondParameterName: Int) {
// 함수 안에서 firstParameterName, secondParameterName
// 인자로 입력받은 첫번째, 두번째 값을 참조합니다.
}
someFunction(1, secondParameterName: 2)
함수형
func addTwoInts(_ a: Int, _ b: Int) -> Int {
return a + b
}
func multiplyTwoInts(_ a: Int, _ b: Int) -> Int {
return a * b
}
참고 자료
반응형
'iOS & Swift' 카테고리의 다른 글
[Swift] Swift 공식문서 정리 - 4(열거형) (0) | 2022.04.06 |
---|---|
[Swift] Swift 공식문서 정리 - 3(클래스 & 구조체) (0) | 2022.04.04 |
[Swift] Swift 공식문서 정리 - 1(기본연산자, 문자열, 콜렉션 타입) (0) | 2022.03.29 |
[iOS] Key-Chain이란? (0) | 2022.03.26 |
[iOS] AppDelegate란 ? (0) | 2022.03.24 |