Finding Substrings
let str = "Hello, Swift"
str.contains("Swift")
// .contains("Swift") 는 str 안에 "Swift" 가 포함되어있는지 Bool 값으로 표현해준다.
str.lowercased().contains("swift")
// str 안에 String값을 모두 소문자로 변경한 후 "swift"가 있는지 확인하는 방법이다. -> true
str.range(of: "swift", options: [.caseInsensitive])
let str2 = "Hello, Programming"
let str3 = str2.lowercased()
var common = str.commonPrefix(with: str2)
common = str.commonPrefix(with: str3, options: [.caseInsensitive])
문자열 찾는 방법은 여러가지가 존재한다.
.contains(" --- ") 를 사용하면 ---의 값이 존재하는지 Bool 값으로 확인할 수 있다.
.lowercased() 는 저장된 값을 모두 소문자로 변경할 수 있다.
배열
Array
let numArray = [1, 2, 3]
// [Int] 와 같이 [] 로 감싸져 있으면 배열
let multiArray = [[1, 2, 3], [1, 2, 3]]
Array Type
let strArray: Array<String>
let strArray2: [String]
같은 표현 방식이나 밑에와 같이 단축 사용된 식을 더 많이 사용한다.
let nums = [1, 2, 3]
let emptyArray: [Int] = []
let emptyArray2 = Array<Int>()
let emptyArray3 = [Int]()
배열은 타입이 매우 중요한데 설정하지 않고 빈공간으로 남겨두면 컴파일 에러가 발생한다.
그렇기 때문에 타입을 판단할 수 있는 값이 없는 경우, 타입을 꼭 설정해줘야한다. (위 3가지 방법 중 한가지를 선택해 사용할 수 있다.)
let zeroArray = [Int](repeating: 0, count: 10)
repeating = 채울값 , count = 채울 갯수
반복 된 수를 원하는 갯수만큼 출력할 때 사용하는 식이다.
인덱스를 불러오는 방식 중 주의해야할 점
불러올 인덱스를 숫자로 잘못 설정할 경우, 에러가 발생한다.
조금 더 안전하게 인덱스를 불러오려면 인덱스 명령어를 사용하여 불러오는것이 안전하다.
let fruits = ["Apple", "Banana", "Melon"]
fruits[0]
fruits[2]
fruits[0...1]
fruits[fruits.startIndex]
fruits[fruits.index(before: fruits.endIndex)]
// 인덱스를 숫자로 불러올 경우 인덱스의 갯수를 파악 하지 못해 오류가 발생 할 수 있다.
// 위와 같이 명령어를 사용하여 더욱 안전하게 불러올 수 있다.
// 마지막 인덱스의 경우 .endIndex 는 마지막의 다음 인덱스를 불러오는 명령어로 오류가 발생한다.
// 그렇기 때문에 .endIndex의 이전을 불러오는 .index(before: fruits.endIndex) 로 마지막 인덱스를 호출해야한다.
마지막 인덱스를 불러오기 위해 .endIndex 를 사용하게 되면 마지막의 다음 인덱스를 구하는 명령어 임으로 오류가 발생한다.
.endIndex의 이전을 불러오는 .index(before: fruits.endIndex) 를 사용하여 마지막 인덱스를 불러온다.
'◽️ Programming > Swift 문법' 카테고리의 다른 글
Swift enum (0) | 2024.03.01 |
---|---|
Swift Closure (0) | 2024.03.01 |
Swift Format Specifier , Escape Swequence 문자열 규칙 (0) | 2024.03.01 |
Swift (for 문 , enum , optional, unwrap) (0) | 2024.03.01 |
Swift Optinals Type (0) | 2024.03.01 |