간단하게 정리하는 Swift (2)

Seeun Park·2022년 10월 2일
0

간단명료 Swift

목록 보기
2/2

서문

슬슬 자바와 다른점들이 보이기 시작한다. 다 자바에도 존재하는 문법들이지만,
작성법이라던가 swift언어만의 안정성을 위한 옵셔널이라던가 다른 점들이 느껴진다.

함수

func 함수명(파라미터 이름:데이터 타입) -> 반환 타입 {
return 반환
}

/*
 func 함수명(파라미터 이름:데이터 타입) -> 반환 타입 {
     return 반환
 }
 */

func sum(a: Int, b: Int) -> Int {
    return a + b
}

sum(a: 6, b: 3)

func hello() -> String {
    return "hello"
}

hello()

조건문

주어진 조건에 따라서 에플리케이션을 다르게 실행할 때 사용

if, switch, guard

/*
 if 조건식 {
 실행할 구문
}
 */

let age = 12

if age < 19 {
    print("미성년자 입니다.")
}

/*
 if 조건식 {
 조건식이 만족하면 해당 구문 실행
} else {
 만족하지 않으면 해당 구문 실행
 }
 */
if age > 19 {
    print("성년.")
} else {
    print("미성년.")
}

/*
 switch 비교대상 {
    case 패턴1:
    case 패턴2, 패턴3:
    default:
 */
let num = 2

switch num {
case -10...1:
    print("1이하의 숫자")
case 2:
    print("2")
default :
    print("그 외")
}

반복문

반복적으로 코드가 실행되게 만드는 구문을 말한다.

for-in, while, repeat-while

/*
 for 루프상수 in 순회대상 {
    // 실행할 구문..
 }
 */

for i in 1...4 {
    print(i)
}

let array = [1,2,3,4,5]

for i in array {
    print(i)
}

/*
 while 조건식 {
 //실행할 구문
 */

var number = 5

while number < 10 {
    number+=1
}

/*
 repeat {
 //실행할 구문
 } while 조건식
 */

var x = 6

repeat {
    x+=2
} while x < 5

print(x)
        

옵셔널

값이 있을 수도 있고 없을 수도 있다.

값이 없을 경우엔 null?
swift에서 값이 없을 경우 nil이다.

var name: String?

//에러발생, 옵셔널 바인딩 필요
var optionalName: String? = "Seeun"
print(optionalName)

옵셔널 값을 바인딩 없이 변수처럼 사용하면 에러가 발생한다.
고로 옵셔널을 사용하려면 바인딩 처리가 필수이다.

옵셔널 바인딩

명시적 해제

강제 해제, 비강제 해제

묵시적 해제

컴파일러에 의한 자동 해제,
옵셔널의 묵시적 해제

/*
 옵셔널 바인딩
 */
 
 //강제 해제, 위험!
 var number2: Int? = 3
 print(number2!)

//비강제 해제, 안전
if let result1 = number2 {
    print(result1)
} else {
    
}

//guard문을 통해서 옵셔널 해제 가능하다.
//이와 관련해선 따로 집중적으로 다루겠다.

//묵시적 해제
let string1 = "12"
var stringToInt: Int! = Int(string1)
print(stringToInt+1)

0개의 댓글