• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

slice 변수2개가 주소가 왜 다른가요?

21.03.23 21:32 작성 조회수 75

0

위 코드를 실행하면 s3와 s4의 포인터가 서로다르게 나오는데 이유가 무엇인가요? 둘이 같게 나와야되지 않나요?

답변 1

답변을 작성해보세요.

0

안녕하세요. 

copy 명령어도 사용해보시구 주소를 출력해서 비교해보세요!

package main
import "fmt"

func main() {
	slice := []int{0, 10, 20, 30}

	// 새로운 슬라이스를 생성
	copyslice := make([]int, len(slice))
	// copy 함수로 슬라이스 복사
	copy(copyslice, slice)

	// 값 변경
	copyslice[0] = 100

	fmt.Println(copyslice) // [100 10 20 30]
	fmt.Println(slice)     // [0 10 20 30]
}