Non-pointers, yes. (EDIT: Pointers to non-Go memory are fine, though generally impossible to use in e.g. mmapped file data. Pointers to Go memory stored outside of the GC region will not be seen by the GC, nor guaranteed valid past a single CGo function call.) A common trick is to e.g. treat an mapped file as a large array of structs.