이동 범위 루프: 항목 값을 변경하지 못했습니다.

저번에 Go 내 오해를 발견했습니다.

arr := []int{1, 2, 3}
for _, entry := range arr {
    entry += 1
}
fmt.Printf("%v", arr)
// [1 2 3]


결과는 [2 3 4]가 아닙니다 😅

범위가 반환하는 각 항목은 다음과 같기 때문입니다.

a copy of the element at that index



배열의 요소 값을 변경하려면 기본 for 루프를 인덱스와 함께 사용하세요 🙂

arr := []int{1, 2, 3}
for i := 0; i < len(arr); i++ {
    arr[i] += 1
}
fmt.Printf("%v", arr)
// [2 3 4]



이 게시물은 내 트윗을 기반으로 합니다.





헤디 나비센









오늘 내 오해를 찾았다.```goarr := []int{1, 2, 3}for _, entry := range arr { entry += 1}fmt.Printf("%v", arr)//[1 2 3]```결과는 [2 3 4]가 아닙니다 😅


오전 08:08 - 2021년 11월 13일

좋은 웹페이지 즐겨찾기