주어진 인덱스의 슬라이스에 값 삽입
Go에서 특정 인덱스의 슬라이스에 값을 삽입하려면 슬라이스의 길이, 용량, 인덱스가 해당 범위 내에 속하는지 여부.
사용 가능한 인덱스에 삽입
삽입하려는 인덱스가 다음 범위 내에 있는 경우 슬라이스의 기존 요소를 삭제하려면 다음 접근 방식을 사용할 수 있습니다.
slice1 := []int{1, 3, 4, 5} slice1 = append(slice1[:index+1], slice1[index:]...) slice1[index] = value
이 접근 방식:
새 인덱스에 삽입
삽입하려는 인덱스가 현재 슬라이스 길이보다 크면 새 요소를 수용할 수 있도록 슬라이스의 용량을 확장해야 합니다.
index := 7 if index > cap(slice1) { newCap := cap(slice1) * 2 // Double the capacity slice1 = append(make([]int, len(slice1), newCap), slice1...) } slice1 = append(slice1[:index+1], slice1[index:]...) slice1[index] = value
이 접근 방식은 다음과 같습니다.
슬라이스 끝에 삽입
슬라이스 끝에 삽입하려면 간단히 새 값을 추가하면 됩니다.
slice1 := []int{1, 3, 4, 5} slice1 = append(slice1, value)
'슬라이스' 사용 패키지(Go 1.21용)
Go 버전 1.21 이상의 경우 github.com/golang/exp/slices 패키지의 Slices.Insert() 함수를 사용할 수 있습니다:
import "github.com/golang/exp/slices" slice1 := []int{1, 3, 4, 5} slices.Insert(slice1, index, value)
예:
array1 := []int{1, 3, 4, 5} array2 := []int{2, 4, 6, 8} index := 1 // Index to insert at value := array2[2] // Value to insert // Insert value into array1 at index slice1 := array1[:index+1] slice2 := array1[index:] slice1 = append(slice1, value) slice1 = append(slice1, slice2...) array1 = slice1 // Result: [1, 6, 3, 4, 5]
위 내용은 주어진 인덱스의 Go 슬라이스에 값을 어떻게 삽입합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!