처음부터 차근차근
Swift의 변수와 상수, 튜플 본문
반응형
주의할 점!
iOS의 스펠링
Objective-C 스펠링
Swift, SwiftUI 스펠링
데이터 타입
- Bool
- Character
- Int
- Float
- Double
- String
- Void (함수 반환형식 없을 때)
변수와 상수
상수(variable) : 한번 값을 할당하면 다시는 값을 할당할 수 없다.
변수(constant) : 값을 초기화해도 값을 바꾸고 싶으면 값을 대입할 수 있다.
변수와 상수 선언 예
// 변수나 상수를 선언할 때는 타입 어노테이션을 써서 데이터 타입을 명시해야한다.
var variableTest : Int // 변수 선언
let constantTest : Int // 상수 선언
변수와 상수 초기화 예
// 상수 초기화
let number1 = 10 // .... 방법1
let number1 : Int = 10 // .... 방법2
// 변수 초기화
var number2 = 10 // .... 방법1
var number2 : Int = 10 // .... 방법2
방법1 :
저렇게 초깃값이 있으면 굳이 데이터 타입을 쓰지 않아도 컴파일러가 타입 추론( = 타입 인퍼 type infer)을 하여 데이터 타입을 알아낸다.
infer = 추론하다
방법2 :
방법1과 다르게 데이터 타입을 명시하는 방법이다. 저렇게 개발자가 직접 쓴 데이터 타입을 타입 어노테이션이라고 한다. 타입 어노테이션은 특별한 경우(Character type이나 Float type 등)를 제외하면 일반적으로 생략한다.
주의할점!
'='을 쓸 때 ' ='나 '= '처럼 양쪽에 공백이 일정하지 않으면 error가 나온다. 공백을 일정하게 ' = ' 이렇게 만들어야 한다.
+ 애플에서는 코드의 효율성을 위해서 되도록 상수를 사용하는 것을 권장한다고 한다.
각 타입별 변수 초기화 예
// Int형은 위에 나오므로 생략한다.
// Double형
var number = 10.5
var number1 : Double = 10.5
// Float형
// Float형은 타입 어노테이션을 생략하면 Double형이 되어버리기 때문에 꼭 타입 어노테이션을 적어줘야 한다.
var number : Float = 10.5
// Bool형
var boolVariable = true // 일반적으로 이걸 씀
var boolVariable : Bool = true
// String형
var stringVariable = "apple"
var stringVariable : String = "apple"
// Character형
// Character형은 타입 어노테이션을 생략하면 String형이 된다.
// 작은따옴표(')를 쓰면 안되고, 큰따옴표를 써야한다(").
var charVariable = "a"
여러 코드들
print(type(of:a)) // 변수 a의 데이터 타입이 출력됨
print(MemoryLayout.size(ofValue:a)) // 변수 a의 데이터 타입의 크기(byte)가 출력됨
print(MemoryLayout<Int>.size) // Int의 데이터 타입의 크기(8byte가 출력됨)
var a = "Hello"
print("\(a) World!") // 출력하고 싶은 변수나 상수가 있으면 \(변수 or 상수)
print("\u{41}") // 유니코드로 a출력 : \u{유니코드}
튜플
여러 개의 값을 하나의 개체로 묶은 것
튜플의 특징
- 튜플 안에는 다양한 자료형이 들어가도 된다. (그래서 실제로 튜플의 데이터 타입을 출력하면 (Int, Double, String)이런식으로 안에 들어간 값의 자료형이 나온다)
- 인덱스로 접근할 수 있다. ex) 튜플명.인덱스
튜플 예
let tup = ("soyoung", 21, 1.5) // 튜플 초기화
print(tub.0) // 이런식으로 인덱스를 사용해서 접근할 수 있다. 결과 : Hello
let (name, age, number) = tup // name, age, number에 값을 하나하나씩 할당
// == let name = "soyoung", age = 21, number = 1.5
var (name, age, _) = tup // _는 값 무시하고 싶을 때 사용
let tup2 = (name : "soyoung", age : 21, number : 1.5) // 이렇게 초기화하면
print(tup2.name) // 이렇게 접근 가능, 결과 : soyoung
출처 : iOS프로그래밍기초(21-2학기)한성현교수 강의 내용 변형 및 요약
반응형
'프로그래밍 > Swift' 카테고리의 다른 글
Swift 문법 정리 3 (0) | 2021.09.26 |
---|---|
Swift 실습 3 (0) | 2021.09.25 |
Swift 문법 정리 2 (0) | 2021.09.17 |
Swift실습2 (0) | 2021.09.17 |
Swift의 변수와 상수, 튜플 - 실습 (0) | 2021.09.16 |
Comments