ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [레인스톤 iOS] 스위프트 easy하게 배워볼까? - 문자열과 문자(1)
    Swift 기초문법 2022. 1. 29. 13:08
    반응형

    안녕하세요!

    iOS개발자로 일하고있는 레인스톤입니다:)

     

    오늘은 문자열과 문자에 대해 알아보겠습니다!

    문자열과 문자

    • swift의 string은 Foundation 프레임워크의 NSString이 bridge된 타입
    • NSString의 메소드를 String에서 캐스팅 없이 사용 가능
    • swift의 string은 값 타입(value type)
    • 그래서 string이 다른 메서드로 부터 생성되면 string값이 할당될 때 레퍼런스가 아닌 값을 복사해서 할당
    • 즉 다른 메서드에서 할당 받은 문자열은 그 문자열을 수정해도 원본 값이 변하지 않음

     

    문자열 리터럴

     

    문자열은 큰 따옴표로 묶어 표현합니다.

     

    let hello = "설 연휴입니다."

     

    여러줄의 문자열을 사용하고 싶은 경우?

    큰 따옴표 3개로 묶어서 사용할 수 있습니다.

     

    let hello = """
    설 연휴에도
    공부하고 있는
    내 인생이
    레전드
    ㅠㅠㅠ
    """
    
    print(hello)
    /*
    설 연휴에도
    공부하고 있는
    내 인생이
    레전드
    ㅠㅠㅠ
    */

     

    들여쓰기도 가능합니다.

    들여쓰기의 기준은 끝나는 지점의 큰따옴표의 위치입니다.

     

    let hello = """
        설 연휴에도
    공부하고 있는
    내 인생이
      레전드
    ㅠㅠㅠ
    """
    
    print(hello)
    /*
        설 연휴에도
    공부하고 있는
    내 인생이
      레전드
    ㅠㅠㅠ
    */

     

    문자열 리터럴은 특수 문자를 포함할 수 있습니다.

    • \" , \' , \r , \n, \u 등 특수 문자 사용이 가능합니다.
    let fromTeamLeader = "팀장님이 \"이제 그만 쉬어\" 라고 말했다."
    
    print(fromTeamLeader) // 팀장님이 "이제 그만 쉬어" 라고 말했다.
    let dollaSign = "\u{24}"
    let blackHeart = "\u{2665}"
    
    print(dollaSign) // $
    print(blackHeart) // ♥

     

    백슬래쉬와 괄호를 이용해 상수, 변수, 리터럴 값을 문자열에 추가할 수 있습니다.

     

    let multiplier = 3
    let message = "\(multiplier) 곱하기 2.5 는 \(Double(multiplier) * 2.5)"
    
    print(message) // 3 곱하기 2.5 는 7.5

     

    빈 문자열 초기화

     

    var emptyString1 = ""
    var emptyString2 = String()
    
    print(emptyString1 == emptyString2)

     

    두 변수의 문자열 값은 같습니다.

     

    var emptyString1 = ""
    var emptyString2 = String()
    
    emptyString1 += "새해 복"
    emptyString2 = "많이 받으세요"
    
    print(emptyString1, emptyString2) // 새해 복 많이 받으세요

     

    이런 방법으로 문자열을 수정할 수도 있습니다.

    += 변수에 문자열을 더해주는 방법입니다.

    = 는 변수에 문자열을 할당해주는 방법입니다.

     

    문자

     

    문자열의 개별 문자를 for-loop를 통해 접근할 수 있습니다.

     

    let numberString = "12345"
    
    for character in numberString {
        print(character)
    }
    
    /*
    1
    2
    3
    4
    5
    */

     

    문자를 타입으로 지정해서 상수/변수를 선언할 수도 있습니다.

     

    let questionMark = "?"
    let questionMark2: Character = "?"
    
    print(type(of: questionMark)) // String
    print(type(of: questionMark2)) // Character

     

    문자열 배열을 이용해 문자열의 초기화 메소드에 인자로 넣어 문자열을 생성할 수도 있습니다.

     

    let charForSayHI: [Character] = ["안", "녕", "하", "세", "요"]
    let sayHI = String(charForSayHI)
    
    print(sayHI) // 안녕하세요

     

    문자열과 문자열뿐만 아니라, 문자열에 문자를 결합하는 것도 가능합니다.

     

    let string1 = "설 연휴에도"
    let string2 = "공부 중 입니다"
    var status = string1 + string2
    let exclamationMark: Character = "!"
    status.append(exclamationMark)
    
    print(status) // 설 연휴에도공부 중 입니다!

     

    끗!

    오늘은 문자열과 문자에 대해 간단히 알아봤습니다.

    다음 시간엔 유니코드부터 더 디테일한 내용을 살펴보겠습니다.

    반응형

    댓글

Designed by Tistory.