in Computing

Golang! Go Language.


Go Language or golang - is a relatively new language from Google.  It was created in 2009 – it’s essentially a system language. It’s statically typed and has some similarities to C and C++ (structure, and syntax to some degree).

I recently decided I wanted to do some system programming, or at least some command line tools. In the past I would have looked at C as the option, but I thought I’d give Golang a Go!

The task I set myself for the initial project was that of a simple ftp deployment helper. I currently have to do quite a lot of deployment of development work, and currently this involves a lot of ftping different files. This can be a real pain, making sure the correct files have been uploaded – especially if they’re in different git repositories (essentially I want to set up our servers so we can deploy via git, but that’s another project!). So what I wanted to do was create something simple so I could just type :

iri deploy config.json files.json

And it would do the hard work for me.

I started the development in my limited spare time, and found Golang very easy to get into – there are plenty of useful documents and plenty of help on the variety of forums out there. One great feature of golang is it’s ability to use code repository sites such as github to home packages and a lovely simple mechanism to install them – it’s as simple as typing

go get address_to_some_repository

And there are a whole host of packages listed at the GoDoc website.

My deployment project – code named iri – can be found over at github . It’s still early days, it doesn’t actually do what it should do as of yet – so keep an eye on it and I’ll make a proper post once the project is working properly.

gh