상세 컨텐츠

본문 제목

Go기초 (2) - Loop(for 단 하나라고?!)

Go

by 로니콜먼 2023. 1. 29. 16:06

본문

저번에 이어 go 기초 2편임.

 

오늘은 loop로 시작.

go는 loop가 오로지 하나임 바로 for

map, foreach, for..in, for..of 요런거 하나도 없다고 하네요.

아주 간결하고 쉬움

 

1~6까지 출력 성공

어마무시하게 간단함

엥 근데 결과가 이상하다?

왜 0부터지

 

왜냐하면 range는 인덱스값을 주기 때문

혹시 그렇담 인덱스는 왜 0부터 시작하고 마지막값은 포함이 안되는지 아는가?

 

크게는 

1. 메모리 주소가 0부터 시작하기 때문

2. 인덱스 기록 시 1부터 시작 시 0이라는 메모리를 낭비하기 때문 등 

다양한 이유가 있다.

 

하단의 링크를 참고하면 왜 0부터 시작하는 인덱스 넘버링이 프로그래밍 시 좋은 표현법인지 알 수 있다. 

 

참고~

 

https://velog.io/@san/%EB%B0%B0%EC%97%B4%EC%9D%98-%EC%9D%B8%EB%8D%B1%EC%8A%A4%EA%B0%80-0%EB%B6%80%ED%84%B0-%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0

 

배열의 인덱스가 0부터 시작하는 이유

배열은 메모리에 기록되었을 때 (처음 메모리 위치 + (인덱스 * 배열크기))로 이동

velog.io

 

하여턴 본론으로 돌아와서 1부터 출력하려면

 

위와같이 작성하면

이러한 결과가 나오시겠다.

 

php나 java 하던 분들은 헷갈리실거다.

그럴땐 이렇게 해도됨 익숙하지요?ㅎㅎ

결과는 같음.

range는 오로지 for 안에서만 적용할 수 있음

 

인덱스 필요없는데...이런경우에는

이렇게 적용하시오.

Very Cool

 

아 참고로 go기초(1), (2), (3) 이런식으로 진행할건데

이건 커리큘럼대로 나눈게 아니라 내가 진행하는 진도라서 신경쓸거 없습니다

킵고잉~

관련글 더보기