2 min read
Interface examples with type elements
Let’s look at some interface examples from the spec: General interfaces … // An interface representing only the type int. interface { int } // An interface representing all types with underlying type int. interface { ~int } // An interface representing all types with underlying type int that implement the String method. interface { ~int String() string } // An interface representing an empty type set: there is no type that is both an int and a string.
1 min read
Interfaces don't contain interfaces
As we learned recently, Go interface elements may contain a type term of a non-interface type. It’s worth re-iterating that these are non-interface types. In particular, as the spec states: General interfaces … By construction, an interface’s type set never contains an interface type. That is to say, that the following is invalid: type interface foo { /* some interface elements */ } type interface bar { foo } Actually, I lied.
1 min read
"Duck Typing" defined
I’ve already introduced the concept of duck typing, but now we have more or less a formal definition: General interfaces … The quantification “the set of all non-interface types” refers not just to all (non-interface) types declared in the program at hand, but all possible types in all possible programs, and hence is infinite. Similarly, given the set of all non-interface types that implement a particular method, the intersection of the method sets of those types will contain exactly that method, even if all types in the program at hand always pair that method with another method.
16 min read
What is the Best Book to Learn Go in 2023?
After reading every beginner's book I could find on Go, here is my recommended #1 book to help you learn the language.
Subscribe to Boldly Go: Daily
Every day I'll send you advice to improve your understanding of Go. Don't miss out! I will respect your inbox, and honor my privacy policy.
Unsure? Browse the archive.
6 min read
Book Review: For the Love of Go
For the absolute beginner to programming, this book will get you started on the right foot.
6 min read
Book Review: Get Programming with Go
Written for the absolute beginner, this book will leave most wanting much more.
9 min read
Book Review: Go Fundamentals
Very thorough, perhaps to a fault, this book is probably a great second read for most Go newcomers.
5 min read
Bonus Book Review: Learn Go with Pocket-Sized Projects
A bonus review of this early-access book, which I'm quite excited about.