본문 바로가기
YAGOM CAREER STARTER

[CODE STARTER 복습] 20230317: week01

by Rhode 2023. 3. 17.

본문은 야곰 아카데미 코드 스타터 캠프를 통해 복습한 내용을 회고한 글입니다.


11. 기본 데이터 타입

문자 타입

Character값에 유니코드 문자 사용 가능

한글도 유니코드 문자에 속하므로 swift 코드의 변수 이름으로 사용할 수 있음

 

문자열 타입

이니셜라이저를 통해 빈 문자열을 생성할 수 있음

var introduceText: String = String()

append(): 문자열을 이어붙일 수 있음(+연산자와 같은 기능)

introduceText.append("우리 강아지 이름은 ")  // 우리 강아지 이름은
introduceText += "호두입니다."  // 우리 강아지 이름은 호두입니다.

isEmpty: String의 경우에도 빈 문자열인지 확인할 수 있음

var introduceText: String = String()

print(introduceText.isEmpty)  // true

introduceText.append("우리 강아지 이름은 ")  // 우리 강아지 이름은
introduceText += "호두입니다."  // 우리 강아지 이름은 호두입니다.

print(introduceText.isEmpty)  // false

 

문자열 고급

hasPrefix: 접두어를 확인할 수 있음

let name = "Rhode Park"

print(name.hasPrefix("Rho"))  // true
print(name.hasPrefix("Rhode"))  // true
print(name.hasPrefix("Rhode "))  // true
print(name.hasPrefix("RhodePa"))  // false: 띄어쓰기도 감지
print(name.hasPrefix("Rhode Pa"))  // true
print(name.hasPrefix("rho"))  // false: 대소문자도 감지
print(name.hasPrefix("RHO"))  // false: 대소문자도 감지

hasSuffix: 접미어를 확인할 수 있음

let name = "Rhode Park"

print(name.hasSuffix("ark"))  // true
print(name.hasSuffix("Park"))  // true
print(name.hasSuffix(" Park"))  // true
print(name.hasSuffix("dePark"))  // false: 띄어쓰기도 감지
print(name.hasSuffix("de Park"))  // true
print(name.hasSuffix("park"))  // false: 대소문자도 감지
print(name.hasSuffix("PARK"))  // false: 대소문자도 감지

lowercased: 모두 소문자로 바꿔줌

let name = "Rhode Park"

print(name.lowercased())  // rhode park

uppercased: 모두 대문자로 바꿔줌

let name = "Rhode Park"

print(name.uppercased())  // RHODE PARK

 

 

특수문자

\n: 줄을 바꿔줌

\\: 백슬래쉬

\": 큰따옴표

\t: 탭키 눌러줌

\0: 문자열 끝났음

 

 

 

12. Any, AnyObject, nil

AnyObject

모든 클래스 타입을 지칭함

클래스의 인스턴스만 수용가능하므로 인스턴스가 아니면 할당 불가

 

 

 

13. 함수 고급

가변 매개변수

전달 받을 값의 개수를 알기 어려울 때 사용

func printNumbers(_ numbers: Int...) {
    print(numbers)
    for number in numbers {
        print(number)
    }
}

printNumbers(0, 1, 2, 3, 4, 5)

/*
 [0, 1, 2, 3, 4, 5]
 0
 1
 2
 3
 4
 5
 */