Golang에서 배열은 동일한 유형의 요소를 고정 길이로 정렬한 모음입니다. 그러나 실제 개발에서는 배열 요소를 수정해야 하는 상황에 직면할 가능성이 높습니다.
먼저 Golang에서는 배열이 값 유형이라는 점을 분명히 해야 합니다. 즉, 배열을 다른 배열에 할당하거나 배열을 매개변수로 전달하는 경우 실제로는 원본 배열 자체가 아닌 배열의 복사본을 전달하는 것입니다. 따라서 배열 요소를 수정하려면 복사본이 아닌 원본 배열을 수정해야 합니다.
배열의 요소를 수정하는 가장 기본적인 방법은 인덱스로 배열의 요소를 참조하고 새 값을 할당하는 것입니다.
arr := [3]int{1, 2, 3} arr[0] = 4
위의 예에서는 첫 번째 요소를 변경하여 길이가 3인 정수 배열을 만들었습니다. 1에서 4로 변경되었습니다. 이 방법은 비교적 간단하고 이해하기 쉽지만 때로는 전체 배열에 대해 연산을 수행해야 하는 경우가 있는데, 이 경우 배열 포인터를 사용해야 합니다.
Golang에서 배열의 포인터 유형은 배열의 첫 번째 요소를 가리키는 포인터입니다. "&" 연산자를 통해 배열의 포인터를 얻을 수 있습니다:
arr := [3]int{1, 2, 3} ptr := &arr[0] //指向arr数组的第一个元素
위의 예에서는 길이가 3인 정수 배열을 만들고 첫 번째 요소의 포인터를 ptr에 할당했습니다. 다음으로, ptr 포인터가 가리키는 값을 수정하여 전체 배열을 수정할 수 있습니다.
*ptr = 4 //修改第一个元素的值 *(ptr+1) = 5 //修改第二个元素的值 *(ptr+2) = 6 //修改第三个元素的值
위의 예에서는 포인터가 가리키는 값을 취하는 것을 나타내는 "" 연산자를 사용했습니다. "+" 연산자를 통해 배열의 어떤 위치로든 이동할 수 있으며, "" 연산자를 통해 해당 위치의 값을 수정할 수 있습니다.
또한 Golang에는 특히 배열 처리를 위해 "복사" 기능이 내장되어 있습니다. 이 함수는 한 배열의 요소를 다른 배열로 복사하고 실제로 복사된 요소의 수를 반환합니다.
arr1 := [3]int{1, 2, 3} arr2 := [3]int{} //创建一个长度为3的空数组 num := copy(arr2[:], arr1[:]) //将arr1的元素复制到arr2中,并返回复制的元素数量
위의 예에서는 길이가 3인 두 개의 정수 배열을 만들고 arr1의 요소를 arr2에 복사한 다음 복사된 요소 수를 반환했습니다. 전체 배열의 일부분을 얻기 위해 "[:]" 연산자를 사용하여 전체 배열을 다른 배열로 복사한다는 점에 유의해야 합니다.
일반적으로 Golang에서 배열 요소를 수정하는 방법은 여러 가지가 있습니다. 간단한 경우에는 배열의 요소를 인덱스로 직접 참조하고 새 값을 할당할 수 있습니다. 더 복잡한 경우에는 배열 포인터를 사용하여 작동하거나 내장된 "복사" 기능을 사용하여 한 배열을 다른 배열로 복사할 수 있습니다. 어느 쪽이든 배열은 값 유형이므로 복사본이 아닌 원본 배열을 수정해야 한다는 점에 유의하세요.
위 내용은 golang 배열 수정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!