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.슬라이스도 초기 값을 설정할 수 있어요.
'언어 자료구조 알고리즘 > 구글 Go' 카테고리의 다른 글
[구글 Go 하자] 36. copy 함수를 사용하면 원소 값을 복사할 수 있어요. (0) | 2016.12.17 |
---|---|
[구글 Go 하자] 35. 배열의 대입 연산은 값 복사, 슬라이스는 참조 (0) | 2016.12.17 |
[구글 Go 하자] 34.슬라이스도 초기 값을 설정할 수 있어요. (0) | 2016.12.17 |
[구글 Go 하자] 33. 슬라이스가 꽉 찰 때 append 함수를 사용하면 알아서 늘려줘요. (0) | 2016.12.17 |
[구글 Go 하자] 32. 슬라이스에 append 함수로 순차 보관 (0) | 2016.12.17 |
[구글 Go 하자] 31. 동적 배열, 슬라이스 기초 (0) | 2016.12.17 |
[구글 Go 하자] 30. 배열의 요소를 순차적으로 방문하기 (0) | 2016.10.14 |
[구글 Go 하자] 29. 구글 Go 언어, 배열 기초 (0) | 2016.10.13 |
[구글 Go 하자] 28. 구글 Go 언어 선택문은 switch (0) | 2016.10.12 |
[구글 Go 하자] 27. Go 언어 반복문은 for 문, 반복문 탈출은 break (0) | 2016.10.11 |