Golang notes – Telegram
This article explains how the Red Hat Go Toolset enables applications to use OpenSSL as a cryptographic backend, allowing Go programs to operate in FIPS mode for compliance with federal security standards. It outlines the steps required to build and validate FIPS-capable Go applications on Red Hat Enterprise Linux, highlighting key configuration requirements and runtime checks for secure deployment.

https://developers.redhat.com/articles/2025/01/23/fips-mode-red-hat-go-toolset
This blog post details how the author created native Go bindings for Apache OpenDAL-a Rust-based unified data access layer-without relying on CGo, by combining the purego library and libffi. The solution enables Go programs to call Rust (via C) functions directly, overcoming previous integration hurdles, simplifying cross-compilation, reducing binary sizes, and achieving better performance compared to traditional CGo-based bindings.

https://www.yuchanns.xyz/posts/bridging-rust-and-native-go/
This guide demonstrates how to deploy a server written in Go using GitLab CI/CD pipelines and Google Cloud, streamlining the process from code integration to scalable cloud deployment. By following the article, developers can automate building, containerizing, and launching Go applications on Google Cloud, leveraging modern DevOps practices for efficient and reliable releases.

https://about.gitlab.com/blog/2025/01/28/deploy-a-server-using-go-with-gitlab-google-cloud/
Go's new sync/test package introduces a set of tools for testing concurrent code, making it easier to catch subtle race conditions and concurrency bugs in your programs. This post on the Go Blog demonstrates how the package's deterministic scheduler and testing helpers can improve the reliability of your Go tests.

https://go.dev/blog/synctest
👍3
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