Go structs are similar to plain C structs. They are ancestors of classes, having data fields but no methods. But Go provides a number of class-like features that work with structs. This includes a form of inheritance, and a way to make regular functions behave like methods.
Video lectures: Part 1 download Part 1; Part 2 download Part 2