[go] 슬라이스 요소 삭제하기

고랭(고언어)에서는 슬라이스에서 요소를 삭제하기 위한 내장 함수가 없습니다. 하지만 슬라이스의 요소를 삭제하는 방법은 여러 가지가 있습니다. 이 글에서는 가장 기본적인 두 가지 방법을 알아보겠습니다.

요소를 인덱스로 삭제하기

가장 간단한 방법은 슬라이스에서 특정 인덱스의 요소를 삭제하는 것입니다. 다음은 이를 수행하는 예시입니다.

package main

import "fmt"

func main() {
    // 기존 슬라이스
    slice := []int{1, 2, 3, 4, 5}
    
    // 삭제할 요소의 인덱스
    index := 2

    // 삭제
    slice = append(slice[:index], slice[index+1:]...)
    fmt.Println(slice) // [1 2 4 5]
}

위 예시에서 append 함수를 사용하여 삭제할 요소의 앞 부분과 뒷 부분을 연결 하는 것을 확인할 수 있습니다.

요소를 값으로 삭제하기

다른 방법으로는 슬라이스에서 특정 값을 가진 요소를 삭제하는 것이 있습니다. 다음은 이를 수행하는 예시입니다.

package main

import "fmt"

func main() {
    // 기존 슬라이스
    slice := []int{1, 2, 3, 4, 5}
    
    // 삭제할 값
    value := 3

    // 삭제
    for i, v := range slice {
        if v == value {
            slice = append(slice[:i], slice[i+1:]...)
            break
        }
    }
    fmt.Println(slice) // [1 2 4 5]
}

위 예시에서는 반복문을 사용하여 삭제할 값의 인덱스를 찾아 해당 인덱스의 요소를 잘라내는 방법을 사용합니다.

결론

슬라이스에서 요소를 삭제하는 방법은 다양하지만, 위 예시들은 가장 기본적이고 효율적인 방법 중 두 가지입니다. 프로젝트의 요구 사항에 맞게 적절한 방법을 선택하여 사용하시기 바랍니다.