[Go 언어] 37. 슬라이스[start:last]로 부분 슬라이스를 만들 수 있어요.

안녕하세요. 언제나 휴일, 언휴예요.

이번에는 원본 슬라이스에서 원하는 영역을 추출하는 부분 슬라이스를 만드는 방법을 알아보아요. 부분 슬라이스를 만들 때는 슬라이스명[시작 인덱스: 끝 인덱스 더하기 일] 표현을 사용하세요.

슬라이스명[시작 인덱스: 끝 인덱스 더하기 일]

주의할 점은 실제 만들어지는 부분 슬라이스 영역은 시작 인덱스에서 끝 인덱스 이전까지만 복사합니다. 다음은 원본 슬라이스에서 원하는 영역을 최종 사용자로부터 입력받아 부분 슬라이스를 만드는 예제 코드예요.

//부분 슬라이스 만들기
package main

import "fmt"

func main() {
    var origin_s []int = []int{10, 23, 34, 47, 54, 62, 7, 89, 91, 102}
    var start int
    var last int

    fmt.Print("원본 슬라이스:")
    fmt.Println(origin_s)

    fmt.Println("원본 슬라이스에서 부분 슬라이스 만들기")
    fmt.Print("시작 인덱스:")
    fmt.Scanln(&start)
    fmt.Print("끝 인덱스:")
    fmt.Scanln(&last)

    var sub_s []int = origin_s[start : last+1]
    fmt.Print("부분 슬라이스:")
    fmt.Println(sub_s)

}

실행 결과는 다음과 같아요.

원본 슬라이스:[10 23 34 47 54 62 7 89 91 102]
원본 슬라이스에서 부분 슬라이스 만들기
시작 인덱스:3
끝 인덱스:5
부분 슬라이스:[47 54 62]