let && var
개요
C 처럼 Swift는 저장할 수 있고 값을 참조하는 식별가능한 이름인 변수를 사용하고 있습니다.
Swift는 또한 값을 바꿀 수 없는 변수를 광범위하게 사용할 수 있습니다.
이것은 상수라고 불려지며 C의 상수보다 훨씬 더 강력합니다.
Swift에서 상수는 값을 변경할 필요가 없는 작업을 할때 코드를 안전하고 명확하게 만들 수 있습니다.
— https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html —
정의
상수와 변수는 사용하기 전에 선언되어야 합니다.
상수는 let
변수는 var
키워드로 선언합니다.
let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0
[Note]
만약 var로 선언하고 저장한 값이 바뀌지 않는 다면, 항상 let 키워드로 선언해야합니다.
var는 저장한 값이 바뀔때만 사용해야합니다.
상수나 변수로 선언하고 콜론을 붙이며 타입을 명시할 수 있는데
이것을 타입명시 라고 합니다.
var welcomeMessage: String
String타입의 welcomeMessage라고 읽을 수 있습니다.
그리고 타입을 명시하면 String 값을 저장하는 변수로 확인이 가능합니다.
또한 상수와 변수의 이름은
let n = 3.14159
let 你好 = "你好世界"
let 🐶🐮 = "dogcow"
유니코드 문자를 포함하여 대부분의 문자로 표현할 수 있으나
공백, 수학적 기호, 화살표, 개인용 유니코드 스칼라값, 또는 선과 박스를 그리는 문자는 포함할 수 없습니다.
변수와 달리 상수는 값이 지정된 후 변경할 수 없으며 값을 변경하려면 컴파일 때 오류가 발생합니다.
var friendlyWelcome = "Hello!"
friendlyWelcome = "Bonjour!"
// friendlyWelcome is now "Bonjour!"
let languageName = "Swift"
languageName = "Swift++"
// This is a compile-time error: languageName cannot be changed.
정리
그리고 문서를 읽다가 흥미로운 글을 보았는데
Use let to make a constant and var to make a variable.
The value of a constant doesn’t need to be known at compile time, but you must assign it a value exactly once. This means you can use constants to name a value that you determine once but use in many places.
— https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html —
상수로 할당한 값은 컴파일 시간이 따로 필요하지 않다는 것이다.
아마 특정 데이터가 변경되지 않을 것을 시스템이 알고 있는 경우
컴파일러 최적화의 가능성도 열어주기 때문인것이 아닌가 싶다.
참고자료
http://seorenn.blogspot.com/2014/07/swift-let.html
https://www.hackingwithswift.com/example-code/language/whats-the-difference-between-let-and-var
https://stackoverflow.com/questions/24002092/what-is-the-difference-between-let-and-var-in-swift
Author And Source
이 문제에 관하여(let && var), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mytrace/let-var저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)