Hubeen's Home



1. 배열


오늘은 배열에 대해 알아보도록 하겠습니다.

아, 저번 강좌에서 이번에는 배열에 다뤄본다고 말씀드렸는데.

생각해보니 배열만 하는 것보단 슬라이스, 맵까지 다루는 것이 좋아보여 더 추가하였습니다.



1-1. 사용한다 나는 배열을


배열이란, 변수를 모아 놓은 집합이라고 말할 수 있습니다.

Go언어에서는 배열의 길이가 고정되어있습니다.


음... 예를 들자면 우리 반 학생들의 성적을 변수에 담는다고 가정하면 아래와 같은 변수를 선언해야 됩니다.


딱 보기만 해도 비효율적이고, 반에 학생이 50명이 있다면 하나하나 변수를 50번 선언해야 하며 사용자에게 학생들의 점수를 알려주려 할 때에 

변수에 접근하여 값을 얻어올 때도 상당히 불편함을 겪을 수 있습니다.


여기서 우리는 배열을 사용하면 이 문제점들을 한번에 잡을 수 있습니다!


상당히 편해지고 접근도 편해졌습니다.

아, 배열에 접근 할 때는 인덱스로 접근을 하게 됩니다.

이 인덱스는 항상 0부터 시작합니다.


아래는 학생의 점수 배열에 인덱스로 각 배열 요소에 접근하여 그 값을 출력하는 예제입니다.



아까처럼 변수를 일일히 선언하는 것보다 배열 하나를 사용하는 것이 더 편하며,

변수를 일일히 접근하는 것보다 배열에 인덱스를 이용하여 접근하는 것이 더 편하다는 것을 알 수 있습니다.


아래는 배열의 선언 방법입니다.



데이터 타입 앞에 대괄호를 여러 번 사용하면 다차원 배열을 생성할 수 있습니다.

아래와 같이 다차원 배열을 만들 수 있습니다.




2. 슬라이스


슬라이스는 배열과 비슷하지만, 길이가 고정되있지 않는 녀석입니다.

크기가 동적으로 늘어납니다.


또한 배열과 다른 타입입니다.

배열은 제네릭 타입이지만 슬라이스는 참조 타입입니다.



2-1. 사용한다 슬라이스를 나는


아래는 슬라이스를 선언하는 방법입니다.



슬라이스는 배열과 달리 크기를 정하지 않습니다.


아래에는 슬라이스를 선언하여 값을 초기화하는 예제입니다.



아래에는 이 초기화한 값에 다른 값을 슬라이스에 추가하는 예제입니다.



다음 아래에는 슬라이스에 접근하여 값을 가져오는 방법들입니다.




3. 맵


맵이란 사전과 비슷합니다.

Love 라는 단어에 "사랑"이라는 뜻이 있듯이 맵에는 Key, Value가 있습니다.


이러한 맵을 Go언어에서는 기본 자료형으로 지원합니다.

이 맵은 슬라이스와 마찬가지로 참조 타입입니다. 



3-1. 맵을 사용한다 나는


아래는 맵을 선언하는 방법입니다.



아래에는 맵을 선언하여 Key 와 Value를 초기화하는 예제입니다.



이제 이 맵을 이용하여 출력하고 데이터를 삭제하는 예제입니다.




다음 강좌에서는 함수에 대해 알아보도록 하겠습니다.

Comment 2