for toDo in toDoArray

미해결질문
이강민 프로필

toDoArray의 요소가 하나하나 toDo로 들어가서 print로 나온다고 하셨는데 toDo 는 let 이라 상수형이라 대입이 불가능하지않나요?

최완택 프로필
최완택 2019.06.04

기존에는 질문이 올라와도 알 수가 없어 몰랐는데

리뉴얼 되니 질문들을 모아볼 수 있어 좋네요. 

답변이 늦었습니다 ㅜㅜ

 

아래와 같은 코드가 있을 경우

line1   for i in 1...5 {
line2      print(i)
line3  }

네 i는 let 키워드로 선언된 상수 맞습니다 <- 이걸 파악하셨다니 훌륭하시네요 ㅎㅎ

1번 라인에서 i에 1이 할당되고
2번 라인에서 i에 있는 값이 출력됩니다
그리고 다시 1번 라인에서 2가 할당될 때 i는 기존의 i가 아닌 새로 생성되는 로컬 상수입니다.

for문을 빠져나올 때까지 i 상수가 계속 유지되는 것이 아니고 

1번 라인에서 매번 새로 생성되기 때문에 다른 값이 들어갈 수 있는 것입니다.

감사합니다^^

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스