Programming/swift

[Swift Basic] 상수와 변수 Constats and Variables

유나니 2022. 10. 27. 22:05

상수와 변수 선언하기

상수(constant)와 변수(variable)는 사용하기 전 반드시 선언(declare) 해야 합니다. 상수를 선언하기 위해서는 let이라는 키워드를, 변수를 선언하기 위해서는 var이라는 키워드를 사용합니다.

let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0

 이 코드는 이렇게 읽을 수 있습니다.

"maximumNumberOfLoginAttempts라는 새로운 상수를 선언하고,  이 상수의 값을 10이라 한다. 그리고 currentLoginAttempt라는 새로운 변수를 선언하고, 이 변수의 값을 0이라고 한다."

 

또한 여러개의 상수와 변수를 한 번에 선언할 수 있습니다.

var x = 0.0, y = 0.0, z = 0.0

NOTE.

만약 변하지 않길 바라는 값을 코드에 저장할 때는 let 키워드를 사용해 상수로 선언을 하고, 변할 수 있는 값은 var 키워드를 사용해서 변수로 선언해야 한다.

 

 

타입 주석(Type Annotations)

상수와 변수를 선언할 때 상수와 변수에 어떤 값이 들어갈지 명확하게 하기 위해서 타입 주석을 달 수 있다. 타입 주석은 상수와 변수의 이름 옆에 콜론(colon)을 입력하고 그다음 스페이스바를 입력 후 상수 및 변수의 타입을 적는다.

var welcomeMessage: String

선언문에서의 콜론의 의미는 "~타입의"라는 뜻입니다. 따라서 위의 선언문은 이렇게 읽을 수 있습니다.

"welcomeMessage 라는 변수를 선언하고 이 변수는 String타입의 변수이다."

이 welcomeMessage 변수에는 문자열만이 에러 없이 저장될 수 있습니다.

 welcomeMessage = "Hello"

같은 타입의 변수 여러개를 콤마로 구분해서 한 줄에 선언할 수 있습니다.

var red, green, blue: Double

NOTE.

실제로 타입 주석을 다는 경우는 잘 없습니다. 만약 상수나 변수의 초기값이 정의되면, Swift는 대부분의 경우 상수나 변수의 타입을 추론할 수 있습니다. 위의 선언문에서는 변수를 선언할 때 초기값이 정의되지 않았기 때문에 타입 주석을 통해 변수의 타입이 정의됩니다.

 

 

상수와 변수의 이름 짓기

상수와 변수의 이름은 유니코드 문자를 포함한 거의 모든 문자가 사용될 수 있습니다.

let π = 3.14159
let 你好 = "你好世界"
let 🐶🐮 = "dogcow"

상수와 변수의 이름에는 공백 문자, 수학 기호, 화살표, 전용 유니코드 스칼라 값, 선이나 박스문자는 사용될 수 없습니다. 그리고 맨 처음을 제외한 위치에 숫자를 사용할 수 있습니다.

NOTE.

특정 타입의 상수나 변수를 선언한 뒤 같은 이름으로 상수나 변수를 선언해야할 경우 역따옴표(backticks`)를 친 후 이름을 치면 사용할 수 있습니다. 하지만 되도록 같은 이름의 변수를 사용하지 않는것이 좋습니다.

이미 존재하는 변수의 값을 같은 타입의 값으로 바꿀 수 있습니다.

var friendlyWelcome = "Hello!"
friendlyWelcome = "Bonjour!"
// friendlyWelcome is now "Bonjour!"

변수와 달리 상수의 값은 한번 설정하면 바꿀 수 없습니다. 만약 상수의 값을 바꾸려고 하면 컴파일할 때 에러가 발생합니다.

let languageName = "Swift"
languageName = "Swift++"
// This is a compile-time error: languageName cannot be changed.

 

 

상수와 변수 출력하기

상수나 변수의 현재 값을 출력하려면 print(_:separator:terminator:)함수를 이용하면 됩니다.

print(friendlyWelcome)
// Prints "Bonjour!"

 

print(_:separator:terminator:) 함수는 한개나 그 이상의 수의 값들을 출력하는 함수입니다. Xcode에서 print함수는 결과를 Xcode 콘솔창에서 출력합니다. 구분기호 및 종료 매개변수(parameter)는 기본 값이 있으므로 print함수를 출력할 때 이 값을 생략할 수 있습니다. 그리고 기본적으로 print함수는 줄 바꿈을 추가해 인쇄하는 줄을 종료합니다. 값을 줄 바꿈 없이 인쇄하려면 다음과 같이 마침표로 빈 문자열을 전달합니다.

print(someValue, terminator: "").

Swift는 문자열 보간(string interpolation)을 사용해 상수나 변수 이름을 placeholder로 지정하고 Swift가 현재 상수나 변수의 값을 placeholder위치에 대체합니다. 문자열 보간을 사용하기 위해서는 괄호 사이에 상수나 변수 이름을 입력하고 시작괄호 앞에 역슬래시를 입력합니다.

print("The current value of friendlyWelcome is \(friendlyWelcome)")
// Prints "The current value of friendlyWelcome is Bonjour!"

NOTE.

문자열 보간법과 함께 사용할 수 있는 옵션은 https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html#ID292

 

Strings and Characters — The Swift Programming Language (Swift 5.7)

Strings and Characters A string is a series of characters, such as "hello, world" or "albatross". Swift strings are represented by the String type. The contents of a String can be accessed in various ways, including as a collection of Character values. Swi

docs.swift.org

문자열 보간법에 나와있습니다.