The Go garbage collector only concerns itself with memory allocated in Go, not with memory allocated in C-land. So, it doesn&#x27;t move C objects. (C objects are typically freed using finalizers, or an explicit method call.)<p>Of course, moving can cause problems for Go pointers in C land, but keeping Go pointers beyond a cgo function call will be prohibited in Go 1.6:<p><a href="https:&#x2F;&#x2F;tip.golang.org&#x2F;doc&#x2F;go1.6#cgo" rel="nofollow">https:&#x2F;&#x2F;tip.golang.org&#x2F;doc&#x2F;go1.6#cgo</a>