본문으로 바로가기
COMMUNITY모든 이야기

Go slice append 시 원본 슬라이스 값 변경 문제

빗방울 2026.10.30 23:26 1분 읽기 조회 6 · 추천 2

사이드 프로젝트 중 데이터 필터링 로직 구현 중입니다. 슬라이스를 복사해서 append 하려는데 원본 값이 같이 바뀝니다.

코드:

package main

import "fmt"

func main() {
	src := []int{1, 2, 3}
	dst := src
	dst = append(dst, 4)
	
	fmt.Println("src:", src)
	fmt.Println("dst:", dst)
}

오류: src: [1 2 3 4] (또는 런타임에 따라 예기치 않은 값 변경 발생)

시도: 슬라이스 할당 방식 변경, capacity 확인.

질문: slice를 완전히 분리해서 append 하려면 copy 함수 외에 어떤 방법을 써야 합니까?

모든 이야기1439

가벼운 안부부터 깊은 생각까지, 함께 나눠요.

글쓰기
총 1439개의 이야기
댓글