λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Programming/iOS

[Swift Tutorial] Swift λ‚œμˆ˜ 생성, λ°°μ—΄ 랜덀 μ ‘κ·Ό

728x90
λ°˜μ‘ν˜•

Swift λ‚œμˆ˜ μƒμ„±ν•˜κΈ°

SwiftλŠ” μ •μˆ˜, μ‹€μˆ˜, λ…Όλ¦¬ν˜• νƒ€μž…μ˜ random ν•¨μˆ˜λ₯Ό μ΄μš©ν•΄μ„œ λ‚œμˆ˜λ₯Ό 생성할 수 μžˆλ‹€.

//λ‚œμˆ˜ 생성
Int.random(in: 0...10)  //0~10 μ •μˆ˜ 랜덀(0, 10 포함)
Int.random(in: 0..<10)  //0~10 사이 μ •μˆ˜ 랜덀(0 포함, 10 미포함)

Float.random(in: 0...10)    //μ‹€μˆ˜
Double.random(in: 0...10)   //μ‹€μˆ˜
Bool.random()   //논리

μ •μˆ˜μ™€ μ‹€μˆ˜μ˜ 경우 "in: 숫자 ... 숫자" μ—°μ‚¬μžλ₯Ό ν†΅ν•΄μ„œ 생성할 λ‚œμˆ˜μ˜ λ²”μœ„λ₯Ό 지정할 수 μžˆλ‹€.

 

1. ... μ—°μ‚°μž

in: 이후 ... μ—°μ‚°μžλŠ” μ–‘ 끝 숫자λ₯Ό ν¬ν•¨ν•œλ‹€.

 

2. ..< μ—°μ‚°μž

..< μ—°μ‚°μžμ˜ 경우 μ‹œμž‘ μˆ«μžλŠ” 포함, 끝 μˆ«μžλŠ” ν¬ν•¨ν•˜μ§€ μ•ŠλŠ”λ‹€.

 

3. 논리(Boolean) νƒ€μž…

λ…Όλ¦¬ν˜•μ˜ 경우 True / False만 μ‘΄μž¬ν•˜λ―€λ‘œ λ²”μœ„λ₯Ό μ§€μ •ν•˜μ§€ μ•ŠλŠ”λ‹€.

 

λ°°μ—΄ μž„μ˜μ˜ μš”μ†Œ κ°€μ Έμ˜€κΈ°

let alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
print("μ •μˆ˜ 랜덀 값을 이용 : " + alphabet[Int.random(in: 0...25)])
print("λ°°μ—΄ λžœλ€ν•¨μˆ˜λ₯Ό 이용 : " + alphabet.randomElement()!)

λ‚œμˆ˜λ₯Ό μƒμ„±ν•˜μ—¬ λ°°μ—΄μ˜ μž„μ˜μ˜ μš”μ†Œλ₯Ό κ°€μ Έμ˜¬ 수 μžˆμ§€λ§Œ, λ°°μ—΄μ˜ randomElement() ν•¨μˆ˜λ₯Ό ν†΅ν•΄μ„œ κ°€μ Έμ˜¬ μˆ˜λ„ μžˆλ‹€.

μ½”λ“œ μ‹€ν–‰ κ²°κ³Ό

alphabet.randomElement()! μ—μ„œ !λŠ” 결과둜 λ‚˜μ˜€λŠ” optional을  unrapping ν•˜κΈ° μœ„ν•΄μ„œ μ‚¬μš© 

728x90
λ°˜μ‘ν˜•