[Swift] Tuples
iOS/Swift2018. 5. 23. 17:39
※ Unnamed Tuple
let number: Int = 10
let threeNumbers: (Int, Int, Int) = (1, 2, 5)
type(of: threeNumbers)
threeNumbers
threeNumbers.0
threeNumbers.1
threeNumbers.2
※ Decomposition
let numbers = threeNumbers
numbers
numbers.0
numbers.1
let (first, second, third) = threeNumbers
first
second
// wildcard pattern
let (_, second1, third1) = threeNumbers
second1
third1
※ Named Tuple
let iOS = (language: "Swift", version: "4")
//let iOS: (language: String, version: String) = (language: "Swift", version: "4")
//let iOS: (language: String, version: String) = ("Swift", "4")
//let iOS = (language: "Swift", version: "4")
iOS.0
iOS.1
iOS.language
iOS.version
※ Comparison Operators
- Tuple은 7개 미만 요소에 대한 비교 연산자가 포함되어있다.
- 7개 이상의 요소를 비교하기 위해서는 비교 연산자를 직접 구현해야 한다.
//var something1: (Int, Int, Int, Int, Int, Int) = (1,2,3,4,5,6)
//var something2: (Int, Int, Int, Int, Int, Int) = (1,2,3,4,5,6)
//something1 == something2
(1, "zebra") < (2, "apple") // true
(3, "apple") < (3, "bird") // true
(4, "dog") == (4, "dog") // true
※ Tuple Matching
let somePoint = (1, 1)
switch somePoint {
case (0, 0):
print("\(somePoint) is at the origin")
case (_, 0):
print("\(somePoint) is on the x-axis")
case (0, _):
print("\(somePoint) is on the y-axis")
case (-2...2, -2...2):
print("\(somePoint) is inside the box")
default:
print("\(somePoint) is outside of the box")
}
※ Dictionary Enumeration
let fruits = ["A": "Apple", "B": "Banana", "C": "Cherry"]
for (key, value) in fruits {
print(key, value)
}
for element in fruits {
print(element.key, element.value)
}
'iOS > Swift' 카테고리의 다른 글
[Swift] Array (0) | 2018.05.23 |
---|---|
[Swift] Control Transfer Statement (0) | 2018.05.23 |
[Swift] Loops (0) | 2018.05.23 |
[Swift] Conditional Statements (0) | 2018.05.23 |
[Swift] Function (0) | 2018.05.18 |