개요
Golang slice(슬라이스) 요소 제거하는 법에 대해 알아보겠습니다.
1. 인덱스를 사용하여 요소 제거
slice := []int{1, 2, 3, 4, 5}
index := 2 // 제거할 요소의 인덱스
slice = append(slice[:index], slice[index+1:]...)
fmt.Println("인덱스로 제거 후:", slice)
// 출력: 인덱스로 제거 후: [1 2 4 5]
append 함수를 사용하여 제거하려는 요소를 제외한 두 부분을 연결합니다. 슬라이스의 순서를 유지하면서 요소를 제거할 수 있습니다.
2. Slice(슬라이스) 처음 또는 마지막 요소 제거
slice := []int{1, 2, 3, 4, 5}
// 첫 번째 요소 제거
slice = slice[1:]
fmt.Println("첫 요소 제거 후:", slice)
// 출력: 첫 요소 제거 후: [2 3 4 5]
// 마지막 요소 제거
slice = slice[:len(slice)-1]
fmt.Println("마지막 요소 제거 후:", slice)
// 출력: 마지막 요소 제거 후: [2 3 4]
3. Slice(슬라이스) 특정 값 제거
slice := []int{1, 2, 3, 2, 4, 5}
value := 2
newSlice := make([]int, 0)
for _, v := range slice {
if v != value {
newSlice = append(newSlice, v)
}
}
fmt.Println("특정 값 제거 후:", newSlice)
// 출력: 특정 값 제거 후: [1 3 4 5]
4. Slice(슬라이스) 여러 개의 연속된 요소 제거
slice := []int{1, 2, 3, 4, 5, 6, 7}
start, end := 2, 5
slice = append(slice[:start], slice[end:]...)
fmt.Println("연속된 요소 제거 후:", slice)
// 출력: 연속된 요소 제거 후: [1 2 6 7]
append 함수를 사용하여 제거하려는 범위를 제외한 두 부분을 연결합니다. 여러 요소를 한 번에 제거할 때 유용합니다.
정리
Go 언어에서 슬라이스의 요소를 제거하는 다양한 방법을 알아보았습니다. 상황에 맞게 적절히 사용하면 좋을것 같습니다.
시리즈
Golang Arrays(배열), Slice(슬라이스) - 선언, 초기화 방법
'프로그래밍 > Golang' 카테고리의 다른 글
Golang 값을 전달할까, 포인터를 전달할까? (0) | 2024.08.02 |
---|---|
Golang map(맵) : 기본개념 (0) | 2024.08.01 |
Golang Slice(슬라이스) : make, copy, append (0) | 2024.07.31 |
Golang Arrays(배열), Slice(슬라이스) - 선언, 초기화 방법 (0) | 2024.07.31 |
Golang Interface - 빈 인터페이스 (interface{}) (0) | 2024.07.27 |