궁금한 내용을 검색해보세요!
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
서근 개발노트
티스토리에 팔로잉
SWIFT/Grammar

Swift : 기초문법 [For 루프]

서근
QUOTE THE DAY

-
Written by SeogunSEOGUN

반응형

For 루프

Swift에서 루프를 작성하는 다양한 방법이 있지만 기본 메커니즘은 동일합니다. 조건이 거짓으로 평가 될 때까지 일부 코드를 반복적으로 실행합니다. Swift에서 가장 일반적인 루프는 for루프입니다. 배열과 범위를 반복하고 루프가 돌아갈 때마다 하나의 항목을 꺼내 상수에 할당합니다.예를 들어 아래코드는 숫자 범위입니다.

let count = 1...10

for루프를 사용하여 다음과 같이 각 항목을 인쇄 할 수 있습니다 .

for number in count {
  print("숫자는 \(number) 입니다")
}

배열로도 똑같이 할 수 있습니다 :

let albums = ["다이너마이트", "디오니소스", "불타오르네"]

for album in albums {
    print("\(album)은 BTS의 노래입니다.")
}
//다이너마이트은 BTS의 노래입니다.
//디오니소스은 BTS의 노래입니다.
//불타오르네은 BTS의 노래입니다.

for루프가 제공 하는 상수를 사용하지 않는 경우 Swift가 불필요한 값을 생성하지 않도록 대신 밑줄( _ )을 사용해야합니다.

for _ in 1...5 {
    print("play")
}

예시

for i in 4...6 {
    print("스타워즈 에피소드 : \(i) 번째")
}
//스타워즈 에피소드 : 4 번째
//스타워즈 에피소드 : 5 번째
//스타워즈 에피소드 : 6 번째
let albums = ["다이너마이트", "피땀눈물"]
for album in albums {
	print("\(album)은 정말 좋은 노래입니다!")
}
//다이너마이트은 정말 좋은 노래입니다!
//피땀눈물은 정말 좋은 노래입니다!
for i in 1...8 {
	if i < 3 {
		print("\(i)(은)는 낮은 수치입니다.")
	}
}
//1(은)는 낮은 수치입니다.
//2(은)는 낮은 수치입니다.
for person in ["Taylor", "Justin", "Adele"] {
	print("Hello, \(person)!")
}
for i in 1...15 {
    if i % 3 == 0 { //3,6,9,12,15
        if i % 5 == 0 { //15 
            print("\(i) is a multiple of both 3 and 5.")
        }
    }
}
//15 is a multiple of both 3 and 5.

조건문을 넣어 작성

조건문을 넣어 코드를 작성할 수 있는데, 아래는 만약 umber % 20 이면 number을 프린트 합니다.

 

var numbers 배열에서 2를 조건문에 넣게된다면, 2 % 2 == 0 으로 일치하게 됩니다.

그래서 2가 프린트 되는것이죠. 46도 마찬가지입니다.

 

그외에 1, 3, 5 는 조건에 맞지 않기때문에 프린트 되지 않습니다.

var numbers = [1, 2, 3, 4, 5, 6]
for number in numbers {
    if number % 2 == 0 {
        print(number)
    }
}
//2
//4
//6

잘못된 예시

var speeds = (65, 58, 72)
for speed in speeds {
	print("You were driving at \(speed)km/h.")
}
//배열의 () 가 틀렸습니다. 배열은 [ ] 을 사용해야 합니다.

배열 루프

Swift는 이미 배열에 어떤 종류의 데이터가 있는지 알고 있기 때문에 배열의 모든 요소를 ​​통과하여 이름을 지정한 상수에 할당 한 다음 코드 블록을 실행합니다. 예를 들어 다음과 같은 노래 목록을 인쇄 할 수 있습니다.

var songs = ["Shake it Off", "You Belong with Me", "Look What You Made Me Do"]

for song in songs {
    print("제가 가장 좋아하는 노래는 '\(song)' 입니다.")
}

for i in 루프를 사용하여 배열을 반복 할 수도 있습니다. 해당 상수를 사용하여 배열로 인덱싱 할 수 있기 때문입니다. 다음과 같이 두 개의 배열로 인덱싱하는 데 사용할 수도 있습니다.

var people = ["players", "haters", "heart-breakers", "fakers"]
var actions = ["play", "hate", "break", "fake"]

for i in 0 ... 3 {
    print("\(people[i]) gonna \(actions[i])")
}           

또, 0에서 3까지 세는 대신 0부터 배열에 있는 최대 개수 까지 세고배열의 항목 수를제외할 수 있습니다.

var people = ["players", "haters", "heart-breakers", "fakers"]
var actions = ["play", "hate", "break", "fake"]

for i in 0 ..< people.count {
    print("\(people[i]) gonna \(actions[i])")
}

밑줄(  _  )을 사용하는 이유는??

배열의 항목을 반복하려면 다음과 같은 코드를 작성 할 수 있습니다.

let names = ["서근", "포뇨", "하울", "소피아", "소스케"]

for name in names {
    print("\(name)는 과자를 가지고 있습니다!")
}
//서근는 과자를 가지고 있습니다!
//포뇨는 과자를 가지고 있습니다!
//하울는 과자를 가지고 있습니다!
//소피아는 과자를 가지고 있습니다!
//소스케는 과자를 가지고 있습니다!

루프가 돌아갈 때마다 Swift는 이름 배열에서 한 항목을 가져와 name 상수에 입력한 다음 루프 본문을 실행합니다. 이것이 print() 방법입니다. 하지만 때로는 현재 읽고있는 값(name)이 실제로 필요하지 않은 경우도 있습니다. 이곳에 밑줄(  _  )을 추가해줘야 합니다. 그렇다면 Swift는 실제로 변수가 필요하지 않음을 인식하고 임시 상수를 만들지 않습니다.

 

Swift는 사용자가 루프 내에서 name을 사용하고 있는지 여부를 확인할 수 있기 때문에 밑줄 없이도 동일한 작업을 수행할 수 있습니다. 그러나 밑줄을 사용하는것은 마치 우리의 뇌와 비슷합니다. 코드를 보고 루프 변수가 사용되지 않음을 즉시 확인할 수 있습니다. 루프 본문 안에 코드 행이 몇 개든 상관없이요!

let count = 1...3
for _ in count {
	print("여기는 마치 내 집처럼 편해요")
}
for _ in 0...3 {
    print("루프문 테스트")
} //총 4번 반복한다
//루프문 테스트
//루프문 테스트
//루프문 테스트
//루프문 테스트 


 

루프 TEST :  문제를 풀려면 이곳을 클릭해주세요.

 

 

읽어주셔서 감사합니다🤟

 

 


잘못된 내용이 있으면 언제든 피드백 부탁드립니다.


서근


위처럼 이미지 와 함께 댓글을 작성할 수 있습니다.