IT

go 포인터

thesse 2021. 5. 13. 13:13
300x250
반응형

go에는 포인터가 있음

aa := 2
bb := aa	// 값만 복사해옴

fmt.Println(&aa, &bb)		// 0xc000012088 0xc0000120a0
fmt.Println(aa, bb)		// 2 2

aa = 10	// b는 영향x

fmt.Println(&aa, &bb)		// 0xc000012088 0xc0000120a0
fmt.Println(aa, bb)		// 10 2

 

&로 주소값 참조

*로 내용물(데이터값)

a := 2
b := &a	//주소값을 참조해옴
fmt.Println(&a, &b)		// 0xc0000120e0 0xc000006030
fmt.Println(a, b)		// 2 0xc0000120e0
fmt.Println(a, *b)		// 2 2

a = 10	// b도 바뀐값을 가져옴
fmt.Println(&a, &b)		// 0xc0000120e0 0xc000006030
fmt.Println(a, b)		// 10 0xc0000120e0
fmt.Println(a, *b)		// 10 10

*b = 7	//b가 가리키는 주소값을 바꿔서 a도 바뀜
fmt.Println(&a, &b)		// 0xc0000120e0 0xc000006030
fmt.Println(a, b)		// 7 0xc0000120e0
fmt.Println(a, *b)		// 7 7

 

 

300x250
반응형

'IT' 카테고리의 다른 글

go 스트럭트  (0) 2021.05.13
go 어레이, 슬라이스, 맵  (0) 2021.05.13
go 반복문, 조건문  (0) 2021.05.13
go 함수 선언  (0) 2021.05.13
go 변수 선언  (0) 2021.05.13