더북(TheBook)

new() 함수로 메모리 초기화 후 주소 할당

new() 함수를 사용하면 매개변수로 전달한 타입에 맞는 메모리 공간을 찾아 초기화하고 그 주소를 반환한다. 이 주소를 포인터 변수에 할당해서 사용할 수 있다.

정수 포인터를 new()로 생성

   p := new(int)
   *p = 1
   fmt.Println(p)  // 0x1043617c
   fmt.Println(*p) // 1

구조체 포인터를 new()로 생성

   type rect struct{ w, h float64 }
 
   r := new(rect)
   r.w, r.h = 3, 4
   fmt.Println(r)  // &{3 4}
   fmt.Println(*r) // {3 4}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.