마지막 요소를 제외한 나머지 요소의 시퀀스를 반환한다.
func dropLast(_ k: Int) -> Self.SubSequence
컬렉션의 마지막 요소를 제거하고 반환한다.
mutating func popLast() -> Self.Element?
컬렉션의 마지막 요소를 제거하고 반환한다.
@discardableResult mutating func removeLast() -> Self.Element
var Array = [1, 2, 3, 4]
print(Array.dropLast(), Array) // Print [1, 2, 3] [1, 2, 3, 4]
print(Array.popLast()!, Array) // Print optional(4) [1, 2, 3]
print(Array.removeLast(), Array) // Print 4 [1, 2, 3]
dropLast()
Immutable, Array의 마지막 요소를 제외한 배열을 반환하고 기존 Array는 변경되지 않는다.
popLast()
removeLast()
Mutable, 제거된 마지막 요소를 반환하고 해당 요소가 기존 Array에서 제거된다.
❓ popLast() 와 removeLast() 의 차이는?
popLast()는 옵셔널을 반환한다. 빈 배열에 popLast() 를 하면 nil 이 반환되지만 removeLast() 를 하면 컴파일 에러가 발생한다. 빈 배열인지 확인 후 removeLast() 를 사용하거나, popLast() 의 nil로 예외 처리를 해주면 된다.
let str = "hello world!"
let dropStr = str.dropLast(1)
let firstDropStr = str.dropFirst(3)
print(dropStr) // 출력값 : hello world
print(firstDropStr) // 출력값 : lo world!
dropLast()로 문자열의 마지막 글자부터, dropFirst()로 앞 글자부터 지울 수 있다. 특정 개수를 지정해 줄 수도 있다.
pop과 remove의 차이 배워갑니다.