저번에 이어 go 기초 2편임.
오늘은 loop로 시작.
go는 loop가 오로지 하나임 바로 for
map, foreach, for..in, for..of 요런거 하나도 없다고 하네요.
아주 간결하고 쉬움
1~6까지 출력 성공
어마무시하게 간단함
엥 근데 결과가 이상하다?
왜 0부터지
왜냐하면 range는 인덱스값을 주기 때문
혹시 그렇담 인덱스는 왜 0부터 시작하고 마지막값은 포함이 안되는지 아는가?
크게는
1. 메모리 주소가 0부터 시작하기 때문
2. 인덱스 기록 시 1부터 시작 시 0이라는 메모리를 낭비하기 때문 등
다양한 이유가 있다.
하단의 링크를 참고하면 왜 0부터 시작하는 인덱스 넘버링이 프로그래밍 시 좋은 표현법인지 알 수 있다.
참고~
배열의 인덱스가 0부터 시작하는 이유
배열은 메모리에 기록되었을 때 (처음 메모리 위치 + (인덱스 * 배열크기))로 이동
velog.io
하여턴 본론으로 돌아와서 1부터 출력하려면
위와같이 작성하면
이러한 결과가 나오시겠다.
php나 java 하던 분들은 헷갈리실거다.
그럴땐 이렇게 해도됨 익숙하지요?ㅎㅎ
결과는 같음.
range는 오로지 for 안에서만 적용할 수 있음
인덱스 필요없는데...이런경우에는
이렇게 적용하시오.
Very Cool
아 참고로 go기초(1), (2), (3) 이런식으로 진행할건데
이건 커리큘럼대로 나눈게 아니라 내가 진행하는 진도라서 신경쓸거 없습니다
킵고잉~
Go기초 (6) - Arrays and Slices(뭔 차이인고) (1) | 2023.01.29 |
---|---|
Go기초 (5) - 포인터(포기하지 마시죠) (0) | 2023.01.29 |
Go기초 (4) - switch(else-if 남발하실겁니까?) (1) | 2023.01.29 |
Go기초 (3) - [If - Else] 다른언어가 가.지.지.않.은 if-else (1) | 2023.01.29 |
Go기초 (1) - 탄생부터 특징까지(이거 생략하면 손해) (3) | 2023.01.26 |