Has anyone here written a deamon process in Golang? Can you walk me through how to do that? Useful links are welcome.
Yes this has been done. See the go-daemon project. Be aware that there are certain problems when the daemonization happens after goroutines are launched. See issue 227 for details.
At this time I'd recommend to use the utilities your operating system offers you. See this related question for solutions.