보초의 코딩일기장

[swift 입문] 함수 기본, 조건문 본문

낙서장/edwith : swift 입문

[swift 입문] 함수 기본, 조건문

장보비 2018. 6. 27. 20:37

1
2
3
func sum(a:Int, b:Int-> Int{
    return a+b
}
cs

함수 선언 func, a와 b의 자료형을 써줄 때 a:Int, b:Int

반환형은 화살표 옆에 써준다.

기본적으로 반환 값이 있는 형태이다.


C언어에서의 표현을 생각하면 적용하기 쉬운 것 같다.

1
2
3
int sum(int a, int b){
    return a+b;
}
cs


반환 값이 없는 함수

1
2
3
func printMyName(name: String-> Void {
    print(name)
}
cs


매개변수가 없는 함수

1
2
3
func maximumIntegerValue() -> Int {
    return Int.max
}
cs


매개변수와 반환값이 없는 함수

1
2
func hello() -> Void { print("hello") }
 
cs



조건문

  • if-else
if 뒤 조건문은 무조건 Bool 타입의 값만 위치할 수 있다.
  • switch
1
2
3
4
5
6
7
8
9
10
11
12
switch someInteger {
case 0:
    print("zero")
case 1..<100:
    print("1~99")
case 100:
    print("100")
case 101...Int.max:
    print("over 100")
default:
    print("unknown")
// 100
cs

1..<100 : 1이상 100미만

101...Int.Max : 100이상 int_max 이하


switch문은 정수 외의 대부분의 데이터 타입을 쓸 수 있다.

명시되지 않는 한 default 는 꼭 써야 한다.

break 문을 쓰지 않아도 된다.


그러므로 break문으로 걸리지 않게끔 하려면

1
2
3
4
5
6
7
8
9
10
switch "yagom" {
case "jake":
    print("jake")
case "mina":
    print("mina")
case "yagom":
    print("yagom!!")
default:
    print("unknown")
// yagom!!
cs

이 형태를

1
2
3
4
5
6
7
8
switch "yagom" {
case "jake""mina":
    print("jake , mina")
case "yagom":
    print("yagom!!")
default:
    print("unknown")
// yagom!!

cs

로 수정해주거나

1
2
3
4
5
6
7
8
9
10
11
switch "yagom" {
case "jake":
    print("jake")
    fallthrough
case "mina":
    print("mina")
case "yagom":
    print("yagom!!")
default:
    print("unknown")
// yagom!!

cs

fallthrough 를 써주면 jake -> mina까지 케이스문을 통과하게 된다.

Buy me a coffeeBuy me a coffee
Comments