Is Go an Object Oriented language?

To truly understand what it means to be ‘object-oriented’ you need to look back at the origination of the concept. The first object oriented language, simula, emerged in the 1960s. It introduced objects, classes, inheritance and subclasses, virtual methods, coroutines, and a...

A practical guide to protocol buffers (Protobuf) in Go (Golang)

The following article targets an audience with interest in software design, protocol buffers or computer programming in general, the article is fairly technical and assumes some knowledge in programming concepts. This article covers Protocol buffers version 2. There is a new vers...

Join Our New Slack Community For Gophers

Why Are We Doing This? GopherCon was an amazing experience for many of us who had the privilege to go. We met so many great people.

Methods, Interfaces and Embedded Types in Go

Introduction My business partner Ed asked me what would happen if a struct and an embedded field both implemented the same interface. We asked ourselves two questions: Would the compiler throw an error because we now had two implementations of the interface? If the compiler accep...

GopherCon 2014 Retrospective(Denver, Colorado - 2014)

It’s a Wrap Gophercon 2014 is in the books. In the end, we had 700 attendees, and it looks to us like everyone enjoyed the experience.

Find the slowest tests of a Java project

I found that it’s pretty hard to have a project with high test coverage and fast build… if the tests are slow, people will feel the need to skip them to speed up the build, and will probably write less tests than they should, afraid that the build will became even sl...

9 MongoDB 2.6 Drivers Released

I’m pleased to announce the coordinated release of drivers in 9 languages in preparation for the release of MongoDB 2.6. This is the largest driver release in the history of MongoDB, both in terms of code changes as well as in terms of drivers released. Official Drivers for C,...

Introduction To Numeric Constants In Go

Introduction One of the more unique features of Go is how the language implements constants. The rules for constants in the language specification are unique to Go. They provide the flexibility Go needs at the compiler level to make the code we write readable and intuitive while...

Gogs: Binary Deployment: The Right Way to Deploy

Gogs: When you’re deploying a binary, you’re doing it Right. This post is published corresponding to the Gogs - Go Git Service v0.2.0 release.

Go development environment for Vim

Go development environment for Vim The reason for creating vim-go Go has a very versatile toolchain and commands that makes Go programming fun. One of the famous tools is gofmt, which automatically reformats the code according to some predefined rules.