GoLab 2018 - Ignat Korchagin - Go as a scripting language in Linux

Опубликовано: 13 Май 2026
на канале: GoLab conference
191
4

Do you like Go so much and use it in every software project? Do you think Go is a truly universal language? How about taking it to the next level and trying Go as a scripting language for your favourite Linux distribution?

Why use Go as a scripting language? Short answer: why not? Go is relatively easy to learn, not too verbose and there is a huge ecosystem of libraries which can be reused to avoid writing all the code from scratch. Some other potential advantages it might bring:
build your complex Go project with Go-based build system: no Makefiles, bash or Python - all pure Go!
easy non-privileged package management out of the box: if you want to use a third-party library in your script, you can simply go get it to your GOPATH
quick code prototyping on early project stages: short-circuit the “edit-compile-check” cycle, instead immediately execute your source file
fail early with strongly-typed scripting language: if you have a typo in your 2k line script, it will fail to start instead of executing first 1800 lines and leave your system in an inconsistent state.

There were previous attempts to make Go scriptable using a shebang line, however (mostly because lines starting with # are not valid in Go) the solution is not perfect: you end up with .go files either to be used as scripts only or as real compilable Go programs, but not both. This talk describes a way how one can use some advanced features of binary execution on Linux to overcome previous problems and make Go truly native scripting language.


💛 Follow us on TWITTER:   / golab_conf  
💜 Follow us on FACEBOOK:   / golabconf  

GoLab is the first Italian international conference on the Go programming language, organized by Develer.
Develer is not just an Italian company projecting and releasing hardware and software solutions for the industrial environment, but is also an ensemble of people sharing their great passion for new technologies and how they can be applied to your everyday life.

🔸 Follow DEVELER on INSTAGRAM:   / wearedeveler  
🔹 Follow DEVELER on FACEBOOK:   / we.are.develer  
🔸 Follow DEVELER on TWITTER:   / develer  
🔹 Follow DEVELER on LINKEDIN:   / 114426  
🔸 Follow DEVELER on TELEGRAM: https://t.me/wearedeveler
🔹 Follow DEVELER on TIK TOK:   / wearedeveler