[구글 Go 하자] 37. 슬라이스[start:last]로 부분 슬라이스를 만들 수 있어요.
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]
관련 게시글
[구글 Go 하자] 32. 슬라이스에 append 함수로 순차 보관
[구글 Go 하자] 33. 슬라이스가 꽉 찰 때 append 함수를 사용하면 알아서 늘려줘요.
[구글 Go 하자] 34.슬라이스도 초기 값을 설정할 수 있어요.