본문 바로가기
FE 공부/Swift

Swift _ Tuples, Strings and Characters

by 꼬질꼬질두부 2022. 10. 4.

  Tuples  

Unnamed Tuple

(expr1,expre2, ...)
tuple.n // Explicit Member Expression

//예제
let data = ("<html>", 200, "OK", 12.34)
//member 삭제와 추가는 불가, 값 변경은 가능

data.0 //"<html>"
data.1 //200
data.2 //"OK"
data.3 //2.34

var mutableTuple = data //가변 tuple
mutableTuple.1 = 404
mutableTuple.1 //404

 

Named Tuples

(name1: expr1, name2: expre2, ...)
tuple.memberName

//예제
let data = ("<html>", 200, "OK", 12.34)
let named = (body: "<html>", statusCode: 200, statusMessage: "OK", dataSize: 12.34)

named.1 //200
named.statusCode //200

 

Tuple Decomposition

let (name1, name2, ...) = tupleExpr
var (name1, name2, ...) = tupleExpr

//예제
let data = ("<html>", 200, "OK", 12.34)
let (body, code, message, size) = data
//let body = data.0
//let code = data.1
//let message = data.2
//let size = data.3

let (body, code, message, _) = data //4번째 멤버는 분해 안됨

 


   Strings  and Characters 

string은 character은 요소로 구성되어 있음

 

let s = "String" //Type: String
let c = "C" //Type: String

//문자로 저장하고 싶다면?
let c: Character = "C" // Character

//빈 문자를 저장하고 싶다면?
let emptyString = ""
let emptyChar = " "//따옴표 사이에 공백 추가

 

Multiline String Literal

let multiline = """
Nice to meet you _ 큰 따옴표 3개 옆이 아닌 새로운 라인에서 시작
Today is Tuesday\
-> "\"의 기능 _ 줄바꿈하지않음
Have a good day
	Bye _ 명시적 줄바꿈이 가능함
""" //첫번째 큰 따옴표와 동일 선상에 두거나 왼쪽 끝에 둬야 함

 

String Interpolation _ 문자열 보간 (삽입)

\(expr)

//예제
let size = 7.17
str = size + "KB" // error 자료형이 다르기 때문
str = String(size) + "KB"
str = "\(size)KB" //"7.17KB"

 

Combining Strings  _ 문자열 결합 

//1
(expr)+(expr)

//예제
let str1 = "Hello"
let str2 = "Swift"
let greeting = str1 + str2 // Hello Swift

//2
append()

//예제
let str3 =" Nice to meet you"
greeting.append(str3) // Hello Swift Nice to meet you

 

 

문자열 인덱스

let str ="Swift"
let firstCh = str[str.startIndex]
print(firsyCh) //S

let lastCharIndex = str.index[before: str.endIndex)//endIndex는 마지막 다음 인덱스
let lastCh = str[lastCharIndex] //t

let secondCharIndex = str.index[after: str.startIndex)
let secondCh = str[secondCharIndex] //w

var thirdCharIndex = str.index(str.startIndex, offsetBy: 2)
var thirdCh = str[thirdCharIndex]
print(thirdCh)//i

thirdCharIndex = str.index(str.endIndex, offsetBy: -3)//음수로 전달
thirdCh = str[thirdCharIndex]
print(thirdCh)//i

'FE 공부 > Swift' 카테고리의 다른 글

Swift_Structure & Class  (0) 2022.10.10
Swift _ Collection  (2) 2022.10.04
Swift _ Closures  (2) 2022.10.04
Swift _ Functions  (0) 2022.10.03
Swift _ Optional  (0) 2022.10.03

댓글