Short answer: yes.
Long answer: yes, but there are a couple of things to be aware of, both on the Go side and the C side.
A short introduction to creating shared C libraries in Go can be found here and a longer one here. (Found by searching Google for go dynamic library
.)