🔥 슬라이스(slice)
184자
3분
Go 언어에서 배열(array)은 고정된 크기를 가지고 있어요. 반면에 슬라이스(slice)는 배열의 요소들을 동적으로 크기를 조정하며 유연하게 바라볼 수 있답니다. 실제로 슬라이스는 배열보다 훨씬 더 일반적으로 사용되지요.
슬라이스의 타입은 []T
로 표현하는데, 여기서 T
는 슬라이스의 요소 타입이에요.
슬라이스는 두 개의 인덱스를 지정하여 형성할 수 있어요. 하한(low)과 상한(high)을 콜론(:
)으로 구분하여 지정하는 거죠:
a[low : high]
go
이렇게 하면 반개방 구간(half-open range)이 선택되는데, 첫 번째 요소는 포함되지만 마지막 요소는 제외된답니다.
다음 표현식은 a
의 1번 인덱스부터 3번 인덱스까지의 요소를 포함하는 슬라이스를 생성해요:
a[1:4]
go
아래 예제 코드를 통해 슬라이스를 직접 만들어 볼까요?
package main import "fmt" func main() { // 정수형 배열 선언 및 초기화 primes := [6]int{2, 3, 5, 7, 11, 13} // primes 배열의 인덱스 1부터 3까지의 요소로 슬라이스 생성 var s []int = primes[1:4] // 생성된 슬라이스 출력 fmt.Println(s) }
go
위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있어요:
[3 5 7]
text
보시다시피 primes
배열의 인덱스 1부터 3까지의 요소인 3, 5, 7로 이루어진 슬라이스가 생성되었네요.
이처럼 슬라이스를 사용하면 배열의 일부분을 동적으로 잘라내어 사용할 수 있답니다. 슬라이스는 배열보다 훨씬 유연하고 강력한 기능을 제공하기 때문에 Go 언어에서 널리 활용되고 있지요.