Going Go Programming Recent Posts
How Packages Work in GoSince I started writing code in Go it has been a mystery to me how best to organize my code and use the package keyword. The package keyword is similar to using a namespace in C#, however the convention is to tie the package name to the directory structure. Go has this web page that attempts to explain how to write Go Code. http://golang.org/doc/code.html When I started programming in Go this was one of the first documents I read.
Running Go Programs as a Background ProcessI have been writing Windows services in C/C++ and then in C# since 1999. Now that I am writing server based software in Go for the Linux OS I am completely lost. What is even more frustrating, is that for the first time the OS I am developing on (Mac OSX) is not the operating system I will be deploying my code on. That will be for another blog post. I want to run my code as a background process (daemon) on my Mac.
Understanding Defer, Panic and RecoverI am building my TraceLog package and it is really important that the package logs any internal exceptions and prevents panics from shutting down the application. The TraceLog package must never be responsible for shutting down an application. I also have internal go routines that must never terminate until the application is shut down gracefully. Understanding how to use Defer and Recover in your application can be a bit tricky at first, especially if you are used to using try/catch blocks.
Documenting Go Code With GodocAs you know if you read my blog, I have been building a set of new utility packages so I can start developing an application server I need for a new project. I am brand new to Go and the Mac OS. Needless to say it has been one hell of an education over the past month. But I don’t miss Windows or C# at all. I made some progress in my coding and wanted to build documentation for the code.
Installing Go, Gocode, GDB and LiteIDE
Check out my new installtion document: