Golang notes – Telegram
Luca Vallin's guide explores how to achieve comprehensive observability in Go applications using OpenTelemetry, covering logs, metrics, and traces through a unified telemetry package. By abstracting away configuration and backend integration, the guide helps developers seamlessly add monitoring and debugging capabilities to their services.

https://www.lucavall.in/blog/opentelemetry-a-guide-to-observability-with-go
The Go Blog details how to export Go functions and values to JavaScript when compiling to WebAssembly, enabling seamless interoperability between Go and web applications. This tutorial walks through the new //go:wasmimport and //go:wasmexport directives, illustrating practical use cases for building richer browser-based experiences.

https://go.dev/blog/wasmexport
Alex Edwards explains how Go 1.24's go tool directive streamlines the management of tool dependencies, replacing older approaches like tools.go files. This walkthrough demonstrates how the new system makes it easier to track, install, and update development tools alongside your Go modules.

https://www.alexedwards.net/blog/how-to-manage-tool-dependencies-in-go-1.24-plus
Go's new SwissTable implementation brings a high-performance, memory-efficient hash map to the language's runtime. In this announcement, the Go team explains how adopting SwissTable improves map iteration speed, reduces memory usage, and enhances overall performance for Go developers.

https://go.dev/blog/swisstable
Michael Stapelberg's walkthrough provides practical strategies for diagnosing and debugging hanging Go programs, from identifying goroutine leaks to using runtime profiling tools. The guide emphasizes reproducible techniques to help developers quickly pinpoint and resolve deadlocks or stalls in their code.

https://michael.stapelberg.ch/posts/2025-02-27-debug-hanging-go-programs/
1
This technical analysis by jub0bs investigates the performance cost of using Go's panic and recover mechanisms for error handling. By benchmarking real-world scenarios, the post reveals the significant overhead of panics and offers recommendations for when to use them judiciously.

https://jub0bs.com/posts/2025-02-28-cost-of-panic-recover/
In this blogpost, Alex Edwards guides Go developers through the enhanced tool dependency management features introduced in version 1.24 and beyond. He demonstrates how to pin, update, and audit third-party utilities to maintain consistent and reproducible builds.

https://www.alexedwards.net/blog/how-to-manage-tool-dependencies-in-go-1.24-plus
In this tutorial, Pliutau guides developers through recreating the classic Minesweeper game in Go using the raylib-go bindings. He demonstrates how raygui handles UI elements while raylib configures the game window and detects mouse input for an authentic Minesweeper experience.

https://pliutau.com/minesweeper-in-golang-raylib/
In this guide, AppliedGo presents a comprehensive roadmap for debugging Go applications, covering everything from writing clear, test-driven code to strategic and ad-hoc logging. It also demonstrates how to leverage tools like Delve, GoTutor, and git bisect to isolate and resolve bugs effectively.

https://appliedgo.net/debug/
In this walkthrough, Akash Joshi shows how to wrap OpenAI’s Whisper speech recognition model into a streamlined command-line interface written in Go . He outlines chaining ffmpeg preprocessing steps, leveraging GoReleaser for cross-platform builds, and distributing the resulting “better-whisper” tool via Homebrew .

https://appliedgo.net/whisper-cli/
In “From Java to Go,” Philip narrates his transition from Java and Kotlin to Go, revealing dramatic gains in startup speed and resource efficiency . This article compares JVM tooling and Go’s AOT compilation, dependency management, and IDE support to demonstrate why Go empowers the team’s Distr platform on Kubernetes .

https://glasskube.dev/blog/from-java-to-go/
In this post, Vishnu Bharathi explores the behavior of nil channels in Go, detailing how they block operations and shape concurrency patterns. He offers clear code examples to illustrate common pitfalls and effective strategies for handling nil channels in real-world applications.

https://vishnubharathi.codes/blog/nil-channels-in-go/
In this feature, Liam Manesh introduces the GOOS=none proposal to enable bare-metal Go, bypassing any OS layer. He explores how the Tamago project underpins this change, supplying runtime hooks for firmware, bootloaders, and microVMs on AMD64, ARM, and RISC-V.

https://golangnugget.com/p/go-without-an-os-meet-goos-none
2
In this analysis, “Pure vs. impure iterators in Go” examines Go’s new iterator standardisation in versions 1.23+ and advocates for clear terminology distinguishing stateless “pure” functions from stateful “impure” closures. It walks through examples—from Fibonacci generators to strings.Lines—and weighs performance implications against consistency across related iterator factories.

https://jub0bs.com/posts/2025-05-29-pure-vs-impure-iterators-in-go/
In this primer, Prateek Surana highlights key contrasts between Go and JavaScript, walking through syntax differences, runtime models, and type systems that shape performance and developer experience. Drawing from his years in JavaScript and recent focus on Go for server-side development, he offers code comparisons and practical tips for a smooth transition.

https://prateeksurana.me/blog/guide-to-go-for-javanoscript-developers/