0 is assumed to be of type "int", since its type cannot otherwise be determined by the context. An int cannot be converted to unsafe.Pointer. In go, 'nil' is used to denote a null (nil) pointer, so p = nil works. You can also explicitly cast to uintptr, which can be converted to unsafe.Pointer ("unsafe.Pointer(uintptr(0))").
As a final note, pClient is initialized to nil to begin with, so the assignment is redundant.