Go에서 슬라이스 요소 조작: 위치 간에 항목 이동
Go에서는 슬라이스 내에서 항목의 위치를 수정할 수 있습니다. 그러나 이 작업에는 다른 프로그래밍 언어에 비해 약간 다른 접근 방식이 필요합니다.
다음 시나리오를 고려해 보겠습니다. 슬라이스라는 슬라이스가 있고 인덱스 1의 항목을 인덱스 4로 이동하려고 합니다. 이를 달성하려면 , 다음 단계를 따라야 합니다.
<code class="go">slice = append(slice[:1], slice[2:]...)</code>
<code class="go">newSlice := append(slice[:4], 1)</code>
<code class="go">slice = append(newSlice, slice[4:]...)</code>
이 방법을 사용하면 원본 슬라이스가 올바르게 수정됩니다. 원래 코드에서는 2단계에서 newSlice의 시작 부분에 1을 추가하는 실수를 하여 잘못된 출력이 발생했습니다.
슬라이스 내에서 항목을 이동하는 프로세스를 단순화하려면 다음과 같은 도우미 함수를 사용하는 것이 좋습니다. 아래 함수:
<code class="go">func moveInt(array []int, srcIndex int, dstIndex int) []int { value := array[srcIndex] return insertInt(removeInt(array, srcIndex), value, dstIndex) }</code>
이 함수는 위 단계를 캡슐화하고 세 가지 인수, 즉 수정할 슬라이스, 소스 인덱스, 대상 인덱스를 사용합니다.
이 함수를 활용하면 코드를 단순화하여 슬라이스 내에서 항목을 이동할 수 있습니다.
<code class="go">slice = moveInt(slice, 1, 4)</code>
위 내용은 Go 슬라이스의 위치 간에 요소를 어떻게 이동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!