Performing allocations

Consider the following code snippet.

type SyncedBuffer struct {
 lock sync.Mutex
 buffer bytes.Buffer
}
p := new(SyncedBuffer) 
var v SyncedBuffer 

Which of these deductions can be made about the values p and v?

Options
  1. Both p and v will work correctly without further arrangement.
  2. Both p and v will NOT work correctly without further arrangement.
  3. Only v will work correctly without further arrangement.
  4. Only p will work correctly without further arrangement.

Related Posts