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 |