Ever wonder how interfaces work? How can a Go value hold alternately, an integer, a floating-point value, and a pointer? How do method invocations and type assertions work? If you've ever pondered any of these questions, this talk is for you.
We'll peek under the hood to see how the compiler and runtime conspire to implement interfaces. Performance-minded Gophers will learn techniques to make interface use lightning-fast.
Keith received his PhD in computer science from MIT in 1998. He worked for Compaq's System Research Center on a variety of topics including Java virtual machines, compilers, and web graphs. He moved to Google in 2001 and became a tech lead for one of the largest advertising networks in the world, Google AdWords and AdSense. Keith started working on the Go team in 2013 and helped develop many parts of the runtime and compiler that are in use today.
A PDF version of the slides from this talk are available here