IOS/Swift

[Kotlin/Swift 문법 비교] String 출력과 변수와 Optional / Nullable 처리

최데브 2024. 5. 11. 01:18

대부분의 프로그래밍 언어에 통용되는 기본적인 내용까지 적지는 않을것이고

안드로이드 개발에 쓰이는 코틀린과 다르게 사용되는 문법들에 대해서 정리를 하려고한다.

 

첫번째는 String 출력과 변수와 Optional / Nullable 처리

대해서 적어보려고 한다.

 

String

 

- String 출력

 

Swift 

print("ios도 개발하고싶어요!")

 

Kotlin

println("Hello, world!")

 

키워드를 잘보면 눈치를 챌 수 있는데 Swift는 저렇게 적어주면 자동으로 줄바꿈이 포함된다.

 

- String 안에 변수

 

Swift

let real = "진짜 슬프다"
let realValue = 3000
let data = "아이폰이 없네 ㅠ \(real) 얼마나 슬프냐면 \(realValue)만큼 슬퍼"

 

Kotlin

val real = "진짜 슬프다"
val realValue = 3000
val data = "아이폰이 없네 ㅠ $real 얼마나 슬프냐면 $realValue만큼 슬퍼"

 

이건 코틀린이 더 편한거 같다.

 

 

변수 

 

코틀린에도 var 라는 키워드로 변수를 선언하고 ios에도 var 를 사용한다.

다른점은 수정이 불가한 상수의 경우 Ios 는 let 을 사용한다.

 

- 상수 선언의 차이

 

Swift

let data = 1

 

Kotlin

val data = 1

 

- type 지정

 

Swift

let data : Int = 1

 

Kotlin

val data : Int = 1

 

동일하게 : 뒤에 타입을 적어준다. 안적어줘도 알아서 추론한다. 명시해주고 싶다면 적을 것

 

Optional / Nullable 처리

 

if-let

 

Swift

let optionalData : String?

if let data = optionalData {
	//null이 아니라면 실행
}

 

Kotlin

val optionalData : String?

optionalData?.let{ data ->
	//null이 아니라면 실행
}

 

적어주는 순서가 조금 다른 느낌이지 비슷하게 적용되는걸 알 수 있다. 오히려 swift 의 if let 이 좀 더 직관적인 느낌이다.

 

 

guard-let

 

Swift

let optionalData : String?

guard let data = optionalData else {
	
    return 처리
}

 

Kotlin

val optionalData : String?

val data = optionalData ?: return 처리

 

let 대신 guard 가 쓰이면 null 일 경우에 처리될 else 동작을 추가 할 수 있다.

 

다음 포스팅은 range Operator , Map , Array 의 차이점을 알아보자.

반응형