Swift문법 - (1)변수와 상수 / 데이터 타입

Youth·2022년 9월 12일
0

swift문법공부

목록 보기
1/27
post-thumbnail
post-custom-banner

변수와 상수

변수(variable):데이터를 담을 수 있는 공간(변수의 이름을 식별자라고 함)

3이라는 변수를 a라는 데이터공간에 저장, 여기서 a의 이름은 개발자가 마음대로 정할 수 있음

var a = 3
var b = 7
b = 9
b = b + 2

var c = a + b

print(c) //12가 출력

변수를 여러개 한꺼번에 선언하는 방법: ,(콤마)로 연결

var x = 1, y = 2, z = 3

변수의 이름짓기 규칙

  1. 소문자로 시작해야함
  2. 중간에 숫자가들어가는건 괜찮지만, 첫글자에 숫자가들어가는것은 금지

변수를 실제로 사용하는 방법(스트링 인터폴레이션)

var name = "홍길동"
var age = 20
var address = "서울 강남구"

name = "전지현" //name이라는 공간에 "전지현"을 담는다(원래는 "홍길동"이 담겨잇음)

print("저의 이름은 \(name)입니다. 저의 나이는 \(age)살 입니다. 그리고 \(address)에 살고있다.")
//저의 이름은 전지현입니다. 저의 나이는 20살입니다. 그리고 서울 강남구에 살고있다.

상수(Constant) - 변하지 않는 데이터

let name = "김철수"
name = "김의성" //name변수는 상수(변하지 않는 값)으로 선언되어있어서 오류가 발생

변수 : mutable(값이 변경 가능한)
상수 : immutable(값이 변경 불가능한)


데이터타입

Swift에서 사용하는 데이터타입

  • 1) Int: 정수(Integer) 🔸
  • 2) Float: 실수(부동소수점) Floating-point Number 6자리 소수점
  • 3) Double: 실수(부동소수점) 15자리 소수점 🔸
  • 4) Character: 문자(글자 한개)
  • 5) String: 문자열 🔸
  • 6) Bool: 참과 거짓 🔸
  • 7) 기타: UInt, UInt64, UInt32, UInt16, UInt8: 0, 그리고 양의 정수

    Int : ... -5 -4, -3, -2, -1, 0, 1, 2, 3, 4, 5 ...
    Double: ... -3.145673, ... ,-2.2315, ... , 0 , ... , 0.453255, ..., 7.45678, ...

let chr: Character = "1"
type(of: chr)                  // 타입을 확인하는 방법

let chr2: Character = ""       // 빈문자는 에러발생
let chr3: Character = " "      // 빈문자는 에러발생 그러나 공백문자는 가능
let str: String = ""           // 빈문자열 저장가능

타입주석(Type Annotation) - 변수를 선언하면서, 타입도 명확하게 지정하는 방식

var number: Int = 5            //타입 어노테이션과 값 초기화를 동시에 하는 경우
var name: String               //타입 어노테이션

타입추론 - 타입을 지정하지 않아도 컴파일러가 유추해서 저장하는 방식

var num = 9                    //type(of: num)을 해보면 Int가 나옴
var name = "이름"               //type(of: name)을 해보면 String이 나옴  

타입안정성 - 스위프트는 다른 타입끼리 계산할 수 없다

let num1 = 1             //타입은 Int
let num2 = 1.2           //타입은 Double

num1 + num2              //Int타입과 Double타입은 계산이 불가능하다 오류발생

타입변환(Type Conversion)

let str2 = "123"
let number1 = Int(str2)           

print(number1)                    // Optional(123)

let str3 = "123.4"
let number2 = Int(str3)           

print(number2)                    // 타입컨버전이 실패했을 때, nil(값이 없음)이 리턴

let n = 2
let n2 = Double(n)

print(n2)                         // 2

let n3: Int = Int(2.4)
print(n3)                         // 2, Double을 Int로 타입변환하면 내림(소수점삭제)

타입애일리어스(Type Alias) - 타입 치환

typealias Name = String          //String을 Name이라고 치환해주겟다(별명을 붙여주겟다)
let name: Name = "김의성"

typealias (Int)->String = Something //이렇게 쓰면 가독성이 높아짐
profile
AppleDeveloperAcademy@POSTECH 1기 수료, SOPT 32기 iOS파트 수료
post-custom-banner

0개의 댓글