Pointers
Go의 pointer에 대해 알아보아요
Go는 높은 수준의 code로 low-level programming 을 할 수 있도록 해준다
메모리 주소를 확인하고 해당 주소에 접근 하기
: 값이 복사 되는 것을 원치 않을 때 활용할 수 있다
ex)
위의 예시에서 값이 복사되는 것을 확인 할 수 있다
즉, a의 값을 update 해도 b의 값은 변하지 않는다
하지만 값을 복사하는 것이 아닌, 메모리 주소를 원할 때에는 아래의 방법을 사용하면 된다
&
operator
&
operator: & 를 사용하여 memory의 주소를 알아낼 수 있다
&
operator를 사용하여 메모리 주소에 접근하기
&
operator를 사용하여 메모리 주소에 접근하기여기서
b := &a
를 함으로써 b는 a의 메모리를 보고있게 된다그렇기 때문에 위와 같이 같은 메모리 주소가 출력된다
b를 바로 pointer 라고 한다
*
operator
*
operator: ***** 와 주소를 사용하여 해당 메모리 주소의값을 살펴볼 수 있다
아주 무거운 data structure 다룰 때 메모리에 저장된 주소를 활용하는 것이 계속해서 복사본을 만들지 않으므로 효율적이다
이렇게 pointer를 활용함으로써 program을 빠르게 동작하도록 할 수 있다!
pointer를 통해 값을 변경하기
a의 주소와 연결되어 있는 pointer b를 이용해서 a의 값을 변경할 수 있다
Last updated