Go(golang) 포인터(pointer * &)
안녕하세요. 이번에는 go언어에서 포인터에 대해서 이야기 하도록 하겠습니다. 사진1) int64형 포인터가 int64변수의 주소를 저장 각 메모리마다 주소가 있는데 포인터 변수는 이 주소를 저장합니다. 포인터를 이용하여 해당 변수를 수정할수 있습니다. package main import ( "fmt" ) func main (){ // int64변수 할당 var num int64 = 30 // pointer를 포인터 int64로 할당 var pointer * int64 // pointer에 num주소를 저장 pointer = &num // pointer의 주소를 확인 fmt. Printf ( "pointer address : %p \n " , pointer) // pointer가 가르키는 주소의 실제값을 확인 fmt. Printf ( "pointer value : %v \n " , *pointer) // pointer를 이용하여 num값을 60으로 변경 * pointer = 60 // pointer를 이용하여 num값 변경 확인 fmt. Printf ( "pointer value(change) : %v \n " , *pointer) } 코드1) 포인터를 이용하여 int64변수 주소값 저장 및 수정 사진2) 코드1의 결과 기본적으로 포인터는 nil값입니다. 하지만 nil값이 아니면 다른 메모리 공간을 가르키고 있다는 뜻입니다. package main import ( "fmt" ) func add5toInt (num int64 ) { num += 5 fmt. Println ( "add5toInt result :" , num) } func main (){ // int64변수 할당 var num int64 = 30 // add5toInt함수를 이용하여...