강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

IJILKJ님의 프로필 이미지
IJILKJ

작성한 질문수

쉽고 빠르게 끝내는 GO언어 프로그래밍 핵심 기초 입문 과정

슬라이스 기초

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

작성

·

180

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]
}

IJILKJ님의 프로필 이미지
IJILKJ

작성한 질문수

질문하기