> 백엔드 개발 > Golang > golang에서 배열 요소를 삭제하는 방법(두 가지 방법)

golang에서 배열 요소를 삭제하는 방법(두 가지 방법)

PHPz
풀어 주다: 2023-04-06 11:08:59
원래의
4265명이 탐색했습니다.

목차:

  • 1. 배경

  • 2. Golang 배열 기본

  • 3. Golang 배열 삭제 방법

1. 切片删除
2. 数组拷贝删除
로그인 후 복사
  • 4. 요약

1. 배경

golang에서 프로그래밍 과정에서 배열 운영도 필요한 링크입니다. 어레이 작동 중에 어레이를 삭제해야 하는 경우가 있습니다. 이 기사에서는 golang 배열 삭제의 두 가지 방법을 소개합니다.

2. golang 배열의 기본

golang에서 배열은 동일한 유형의 요소와 고정된 길이의 컨테이너입니다. 배열의 길이는 배열을 정의할 때 지정해야 합니다. 길이는 배열 유형의 일부이므로 정의 후에는 길이를 변경할 수 없습니다.

golang 배열의 기본 사용을 설명하기 위해 간단한 예를 사용합니다:

//定义一个长度为3的int型数组
var arr [3]int

// 赋值
arr[0] = 1
arr[1] = 2
arr[2] = 3

// 取值
fmt.Println(arr[0],arr[1],arr[2])
// 输出:1 2 3
로그인 후 복사

3. Golang 배열 삭제 방법

golang에서는 배열이 컨테이너이지만 고정 길이 특성으로 인해 배열을 삭제할 수 없습니다. 의 요소를 직접적으로 . 따라서 실제 응용에서는 다음 두 가지 방법을 통해 배열의 요소를 삭제할 수 있습니다.

  1. 슬라이스 삭제

golang에서 슬라이스(slice)는 동적 배열 유형으로 둘 다 연속적인 메모리 공간이며 가변 길이를 갖습니다. . 슬라이스의 가변 길이 특성으로 인해 슬라이스를 사용하여 배열 삭제 작업을 완료할 수 있습니다.

//定义一个长度为3的int型数组
var arr = [3]int{1, 2, 3}

// 将数组转换成切片,进行删除
slice := arr[:]
deleteIndex := 1
if len(slice) > deleteIndex {
    slice = append(slice[:deleteIndex], slice[deleteIndex+1:]...)
    fmt.Println(slice)
}
// 输出:[1 3]
로그인 후 복사

위 코드에서는 먼저 배열을 슬라이스로 변환한 후 삭제할 첨자를 지정하고, 추가 기능을 통해 슬라이스에서 삭제된 요소를 삭제합니다. 마지막으로 삭제된 조각을 인쇄합니다.

  1. 배열 복사 삭제

배열 길이는 불변이므로 golang의 복사 기능을 사용하여 삭제 작업을 구현할 수 있습니다.

//定义一个长度为3的int型数组
var arr = [3]int{1, 2, 3}

// 拷贝删除
deleteIndex := 1
if len(arr) > deleteIndex {
    arr = append(arr[:deleteIndex], arr[deleteIndex+1:]...)
    fmt.Println(arr)
}
// 输出 :[1 3 0]
로그인 후 복사

위 코드에서도 삭제할 첨자를 지정하고, 삭제할 요소를 배열에서 추가 기능을 통해 삭제합니다. 차이점은 삭제된 배열을 원래 배열에 직접 재할당한다는 것입니다.

4. 요약

위의 두 가지 방법을 통해 golang에서 배열 요소를 쉽게 삭제할 수 있습니다. 슬라이스 삭제를 사용하면 코드 작성이 용이해지고, 배열 복사본 삭제를 사용하면 원본 배열을 직접 조작할 수 있습니다. 실제 개발에서는 필요에 따라 두 가지 방법을 유연하게 사용할 수 있습니다.

위 내용은 golang에서 배열 요소를 삭제하는 방법(두 가지 방법)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿