Structs, Methods and Interfaces in Go