본문 바로가기

iOS 앱 개발자 프로젝트/Swift 문법 정복하기

[Swift] String interpolation

문자열 보간법 (String Interpolation)

 

 C# 6.0의 등장

      C# 6.0은 2015년에 출시된 C# 프로그래밍 언어의 주요 버전 업데이트로, 도입된 여러 기능 중 하나가 String Interpolation

   

      C# 6.0 이전의 문자열 처리

     이전에는 문자열 내에 변수나 표현식을 삽입을 위해 String.Format() 메서드를 사용했다.

 


 

 

문자열 보간법은 C# 6.0부터 도입된 기능으로, 문자열 내에 변수나 표현식을 삽입할 수 있게 해준다.

→   서식 지정을 간편하게 하며, 가독성도 높일 수 있다. 

 

 

 

📌  문자열 보간법의 장점

  1. 가독성 향상: 기존의 String.Format() 메서드보다 더 간단하고 직관적인 문법을 사용할 수 있어 코드 가독성이 높다.
  2. 편의성 증대: 변수나 표현식을 직접 문자열에 삽입할 수 있어 코드 작성이 편리하다.
  3. 유연성 확보: 다양한 서식 지정 옵션을 사용할 수 있어 출력 결과를 세부적으로 조정할 수 있다.

 

예시 ▽

let a = 10
let b = 20

print("a = \(a)")
print("b = \(b)")
print("a + b = \(a + b)")
print("a - b = \(a - b)")

 

위 코드 결과  ▽

a = 10
b = 20
a + b = 30
a - b = -10

 

 

 

 

📌  문자열 보간법의 활용

 

문자열 보간법은 단순한 변수 삽입뿐만 아니라 정렬, 서식 지정, 조건부 출력 다양한 활용이 가능하다.

  • 정렬: (variable, width: Int, alignment: String) 형식으로 정렬 옵션을 지정할 수 있다.
  • 서식 지정: (variable, formatString) 형식으로 서식을 지정할 수 있다.
  • 조건부 출력: (condition ? trueValue : falseValue) 형식으로 조건에 따른 출력을 할 수 있다.

 

 

정렬(alignment) ▽

let name = "Alice"
let alignedName = "\(name, width: 10, alignment: .left)"
print(alignedName) // "Alice     "

 

  • \(name, width: 10, alignment: .left) 형식으로 정렬 옵션을 지정할 수 있다.
  • width: 10은 출력할 문자열의 최소 길이를 10자로 설정하고, alignment: .left는 왼쪽 정렬을 지정한다.

 

 

서식 지정(format)  

let age = 30
let formattedAge = "\(age, format: "03")"
print(formattedAge) // "030"

 

  • (age, format: "03") 형식으로 서식을 지정할 수 있다.
  • format: "03"은 숫자를 3자리로 표현하고 빈 공간은 0으로 채운다.

 

 

조건부 출력  

let isPass = true
let result = "\(isPass ? "Pass" : "Fail")"
print(result) // "Pass"

 

  • (isPass ? "Pass" : "Fail") 형식으로 조건에 따른 출력을 할 수 있다.
  • isPass가 true이면 "Pass"를, false이면 "Fail"을 출력한다.

 

 

복잡한 표현식

let score = 85
let grade = "\(score >= 90 ? "A" : score >= 80 ? "B" : score >= 70 ? "C" : "D")"
print(grade) // "B"

 

  • 복잡한 조건식도 문자열 보간법 내에서 사용할 수 있다.
  • 위의 예시에서는 점수에 따른 학점 등급을 계산하여 출력한다.