# 구조체
type Obj struct { Name string, Age int }
# 인스턴스
{"Beckham", 11}
var ptr *int
*이 int, string 같은 타입 이름 앞에 붙을 때 포인터 타입을 의미함.
이는 해당 타입의 데이터의 메모리 주소를 담는 변수임.
age := 11
// age라는 값이 저장된 메모리 주소(예: 0xc0000a4000)를 구해서 ptr에 넣음
ptr := &age
11이라는 데이터가 담긴 age 변수의 메모리 주소를 &age로 가지고 올 수 있음
age := 11
var ptr *int
ptr = &age
fmt.Println(ptr) // 출력: 0xc0000a4000
fmt.Println(*ptr) // 출력: 11
*이 포인터 변수에 붙을 때 역참조를 의미함.
포인터 변수의 주소의 인스턴스를 가져옴.
전체 코드
age := 11
var ptr *int
ptr = &age
fmt.Println(ptr) // 출력: 0xc0000a4000
fmt.Println(*ptr) // 출력: 11
*prt = 200
fmt.Println(*ptr) // 출력: 200