스위프트 문법 - 변수와 자료형

응애개발자·2023년 1월 28일
0

스위프트

목록 보기
2/8

변수와 상수

변수

변수는 선언후 변경이 가능하다.

var 변수명 =

이렇게 변수를 선언할 수 있다.
이때 자동으로 값에 맞춰서 변수의 자료형이 정해지는데 값에 문자를 넣을 경우 Character형으로 선언하고 싶으면 아래처럼 명시적으로 선언해야 한다.
물론

var 변수명 : 자료형

변수명 =

이렇게 명시적으로 자료형을 선언 하고 나중에 초기화 해도 된다.

var 변수명 : 자료형 =

이렇게도 명시적으로 선언할 수 있다.

상수

상수는 선언 후에 변경이 불가능하다.

let 상수명 =

이렇게 상수를 선언한다. 또한 당연히

let 상수명 : 자료형 =

이렇게도 선언할 수 있다.

변수와 상수의 이름 규칙

• 알파벳, 한글 자음과 모음, 특수 기호, 한자, 이미지용 바이너리코드(😎, 🐠,💊 이런것들이다. 흔히 말하는 이모티콘)까지도 쓸 수 있다.(저는 이모티콘은 진짜 비추합니다. 이런 기능은 왜있는건지? 이스터에그??)
• 연산자로 쓰는 특수 문자는 쓸 수 없다.(+, -, *, /)
• 당연히 공백도 쓸 수 없다.
• _(언더바)를 공백대신에 쓸 수 있다.
• 예약어나 키워드로 등록된 단어는 쓸 수 없다. 하지만 대소문자를 구분하기 때문에 대소문자만 바꾸면 쓸 수 있긴하다.
• 숫자가 첫번째로 올 순 없다.(1abc는 안됨. a1bc처럼 두번째부터는 가능.)

자료형

Int와 UInt

Int

정수형이다. 정수값 범위는 CPU사양에 따라 달라지는데 예를들어 8bit CPU일 경우 2^8개를 지원해 -128부터 0을 포함해 127까지 총 256개의 값을 저장할 수 있다. 그냥 선언하면 무조건 Int형으로 선언된다.
추가로 Int의 서브 자료형은 각각
Int8 = 2^8
Int16 = 2^16
Int32 = 2^32
Int64 = 2^64 개를 지원한다.

var aaa = 3

var bbb : Int
bbb = 5

let ccc : Int = 9 //얘는 Int형 상수

이런식으로 선언한다.

UInt

Unsigned Int를 뜻하며 부호가 없는 정수를 의미한다.(일반적으로 생각할때 부호가 없으면 양수겠죠?) Int처럼 정수를 저장하나 음수는 포함하지 않기 때문에 0부터 (2^n) - 1까지 저장할 수 있다. 이때 n은 위의 Int8, Int16처럼 뒤에 오는 숫자를 의미한다. 똑같이 UInt8, UInt16, UInt32, UInt64가 있다.(0부터 시작하기 때문에 끝에 숫자는 하나 빠진다.)

var bbb : UInt
bbb = 5

let ccc : UInt = 9 //얘는 UInt형 상수

이렇게 선언한다.

Float과 Double

둘다 실수를 저장하는 자료형이다. 이때 그냥 선언하면 무조건 Double로 선언된다.

Float

Float은 32bit 부동소수점 자료형이다. 소수점 7~8자리까지 정확하게 저장할 수 있다.

var bbb : Float
bbb = 5.1

let ccc : Float = 9.1 //얘는 float형 상수

이렇게 선언한다.

Double

Double은 64bit 부동소수점 자료형이다. 소수점 15~16자리까지 정확하게 저장할 수 있다. 당연히 float보다 메모리를 더 차지한다.

var aaa = 3.1

var bbb : Double
bbb = 5.1

let ccc : Double = 9.1 //얘는 double형 상수

이렇게 선언한다.

Bool

Bool형은 참, 거짓을 저장하는 자료형이다. 예를들면

var abc = true //참인 변수
let def = false //거짓인 상수

이런식으로 선언하며

var a = 1
var b = 2
var c = a == b //이러면 false가 나온다.

이렇게도 쓸 수 있다.

String

문자열을 저장할 때 쓰는 자료형이다.

var abc = "안녕하세요"

var as : String
as = "as센터는 서울에 있습니다."

var asdf : String = "하이 헬로 안녕"

이렇게 선언할 수 있다.
이전의 objective-c에서의 NSString과 서로 호환되기 때문에 서로 변환할 수 있다.
import Foundation 구문을 입력하면 스위프트에서 NSString을 사용할 수 있다.

Character

문자를 저장할 때 쓰는 자료형이다.

var abc : Character
abc = "A"

var alphabet : Character = "B"

이렇게 선언할 수 있다.
타입 어노테이션(명시적 자료형 선언)이 없으면 그냥 String으로 타입추론을 하기 때문에 반드시 자료형을 명시해야합니다.

0개의 댓글