Go Time: Golang, Software Engineering

Reflection and meta programming


Listen Later

Mat, Jon, and Jaana discuss reflection and meta programming. How do other languages use reflection, and how does that differ from Go’s approach? What libraries are using reflection well? What are some examples of bad times to use reflect? What alternative approaches exist? And what are those weird struct tags I keep seeing in Go code?

Join the discussion

Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!

Sponsors:

  • DigitalOcean – DigitalOcean’s developer cloud makes it simple to launch in the cloud and scale up as you grow. They have an intuitive control panel, predictable pricing, team accounts, worldwide availability with a 99.99% uptime SLA, and 24/7/365 world-class support to back that up. Get your $100 credit at do.co/changelog.
  • Gophercises – Gophercises is a free course that will help you become more familiar with Go while developing your skills as a programmer. The course consists of 20 different mini-applications, packages, and tools that are each designed to teach you something unique about Go. Get started at gophercises.com/gotime
  • FastlyOur bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.
  • RollbarWe move fast and fix things because of Rollbar. Resolve errors in minutes. Deploy with confidence. Learn more at rollbar.com/changelog.
  • Featuring:

    • Mat Ryer – Website, GitHub, LinkedIn, X
    • Jon Calhoun – Website, GitHub, X
    • Jaana Dogan – Website, GitHub, X

    Show Notes:

    • Laws of Reflection - From the Go blog
    • Oto - Library by Mat using AST to generate code
    • form - Jon’s form library that uses reflect
    • form’s without reflect - An example from Jon of creating forms without reflect
    • Language Server Protocol - Created by Microsoft to make it easier to create autocompletion for different editors
    • A new Go API for Protocol Buffers - A writeup of changes in protobuf to allow for a type of reflection
    • Something missing or broken? PRs welcome!

      ...more
      View all episodesView all episodes
      Download on the App Store

      Go Time: Golang, Software EngineeringBy Changelog Media

      • 4.6
      • 4.6
      • 4.6
      • 4.6
      • 4.6

      4.6

      128 ratings


      More shows like Go Time: Golang, Software Engineering

      View all
      Hanselminutes with Scott Hanselman by Scott Hanselman

      Hanselminutes with Scott Hanselman

      377 Listeners

      Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

      Software Engineering Radio - the podcast for professional software developers

      272 Listeners

      The Changelog: Software Development, Open Source by Changelog Media

      The Changelog: Software Development, Open Source

      282 Listeners

      Talk Python To Me by Michael Kennedy

      Talk Python To Me

      590 Listeners

      Software Engineering Daily by Software Engineering Daily

      Software Engineering Daily

      626 Listeners

      Soft Skills Engineering by Jamison Dance and Dave Smith

      Soft Skills Engineering

      271 Listeners

      AWS Podcast by Amazon Web Services

      AWS Podcast

      203 Listeners

      Python Bytes by Michael Kennedy and Brian Okken

      Python Bytes

      213 Listeners

      Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

      Syntax - Tasty Web Development Treats

      984 Listeners

      CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

      CoRecursive: Coding Stories

      189 Listeners

      Kubernetes Podcast from Google by Abdel Sghiouar, Kaslin Fields

      Kubernetes Podcast from Google

      181 Listeners

      The Real Python Podcast by Real Python

      The Real Python Podcast

      140 Listeners

      Cup o' Go by Jonathan Hall & Shay Nehmad

      Cup o' Go

      16 Listeners

      The Pragmatic Engineer by Gergely Orosz

      The Pragmatic Engineer

      52 Listeners

      Fallthrough by Fallthrough Media

      Fallthrough

      10 Listeners