Today I Learned

20210531 Swift - Constant, Range Operator & Randomisation

돌맹이시터 2021. 6. 1. 04:11

 

 

Constant

 

변수와는 다르게, 한 번 생성되면 값이 변경되지 않는다.

 

let constantName = Value

로 설정한다. (여기에서 let은 var처럼 어떤 단어의 약어가 아니라, 사람이 읽기 편하도록 고안된 스위프트용 단어(?)이다.)

 

값을 변경하지 않아도 되는 상황이라면, var보다는 let을 사용하는 것이 효율적이다.

var의 값은 언제든 어떤 값으로든 바뀔 수 있어야 하기 때문에 생성할 때 메모리 공간을 많이 잡아야 하기 때문이다.

 

 

 

Range Operator 

 

ex)

Int.random(in: 1 ... 5)

-> ... : closed range operator, 뒤의 수인 5를 포함 (1 이상 5 이하)

 

Int.random(in: 1..< 5)

-> ..< : open range operator, 뒤의 수인 5를 미포함 (1 이상 5 미만)

 

 

 

Random element from Array

 

array.randomElement()

배열로부터 무작위하게 추출

 

 

 

Randomise Array

 

array.shuffle()

배열에 있는 각 항목의 순서가 바뀐다.

 

 

Randomisation challenge를 하려는데

repl.it이 도통 먹통이어서 몇 시간을 씨름했는데..

플랫폼이 버그 투성이라는 사람들이 많고

결국 replit에서 해결하는 건 포기......

 

xcode만 쓰는 게 정신건강에 좋을 것 같다.

 

 

alphabet 배열을 사용해 랜덤하게 6자리 비밀번호 생성하기

 

내일 다른 방법으로 또 만들어봐야겠다.