**포인터(pointer)**는 값 자체가 아니라 값의 메모리 주소를 담습니다. Go에는 (C처럼) 포인터가 있지만 단순하고 안전하게 유지됩니다 — 포인터 산술이 없고, 가비지 컬렉터가 메모리를 처리합니다. 데이터를 효율적으로 공유하고 수정하는 데 사용됩니다.
두 연산자: & 와 *
go
x := 42
p := &x // & = "주소" → p는 *int(x를 가리키는 포인터)
fmt.Println(p) // 0xc0000... (주소)
fmt.Println(*p)
*p =
fmt.Println(x)
