TGViewer
Channel Public Channel
Go

Go

@golang

// admin @denniselite
// Denis Podlesnykh, a Golang Engineer
go func() { channel <- news }()
news := <-channel
fmt.Sprintf("%s", news)
Subscribers
19.2K
Photos
16
Videos
0
Links
146
Recent Posts 20 shown
Post #166 5.4K
It's been a while... Everything is going agentic, so there is rather an interesting project in Go about running AI agents similar to how Kubernetes runs pods. You can declare tasks, workspaces, and models in YAML and AX sandboxes the agents and wires it all up.

Check it out: AX: Google's Open Agentic Orchestration Runtime
  • πŸ€” 36
  • πŸ‘Ž 20
  • ❀ 15
  • πŸ‘ 11
  • πŸ‘ 11
  • 🀯 7
  • πŸ’© 5
  • πŸ”₯ 3
Post #165 38.7K
If you’re working with Go and care about performance, then check out the https://goperf.dev/

Here you can find not theoretical, but practical patterns applicable to memory issues, concurrency, and overall, real bottlenecks you hit in production.

The guide has been recently updated with more depth (atomics, concurrency trade-offs, etc.), so worth revisiting even if you’ve seen it before.

Solid reference to keep bookmarked. Enjoy!
goperf.dev Go Optimization Guide Patterns and Techniques for Writing High-Performance Applications with Go
  • ❀ 143
  • πŸ‘ 60
  • πŸ”₯ 36
  • πŸ€” 24
  • πŸ’© 21
  • πŸ‘ 20
  • 🀯 19
  • πŸ‘Ž 16
Post #164 25.6K
Are Atomic Operations Faster and Better Than a Mutex? It Depends

From the author:
"Recently, while reviewing a pull request, a discussion arose about using sync/atomic versus sync.RWMutex.
It’s a question that comes up often when writing concurrent Go code, so I thought it would make a great post"

https://madflojo.dev/posts/are-atomic-operations-faster-than-a-mutex/
  • ❀ 73
  • πŸ‘ 37
  • πŸ€” 31
  • πŸ‘ 28
  • πŸ”₯ 26
  • πŸ’© 24
  • 🀯 14
  • πŸ‘Ž 9
Post #163 27.6K
Hello, folks, it's been a while. Re-sharing an interetsting recording from GopherCon 2025:
Advancing Go Garbage Collection with Green Tea (youtube). TL;DR:

Go 1.25 includes a new experimental garbage collector called Green Tea, available by setting GOEXPERIMENT=greenteagc at build time. Many workloads spend around 10% less time in the garbage collector, but some workloads see a reduction of up to 40%!

There is an also official text version on the Green Tea Garbage Collector if one does not like to watch the video.

Thanks!
YouTube GopherCon 2025: Advancing Go Garbage Collection with Green Tea - Michael Knyszek Memory latency and bandwidth are becoming increasingly constrained, and these trends are at odds with most of today's garbage collection algorithms, including Go's. In this talk, Michael will dive deep into Green Tea, a new parallel mark algorithm to accelerate…
  • πŸ‘ 68
  • ❀ 47
  • πŸ‘ 24
  • πŸ”₯ 23
  • πŸ‘Ž 22
  • 🀯 22
  • πŸ€” 11
  • πŸ’© 10
Post #162 30K
Be Careful with Go Struct Embedding

Embedding structs can quietly mask deeper-nested fields: a duplicate field name isn’t ambiguous unless it appears at the same β€˜depth’, meaning your program may choose an unintended value.

https://mattjhall.co.uk/posts/be-careful-with-go-struct-embedding.html
mattjhall.co.uk Be Careful with Go Struct Embedding - Matt Hall The gophers nested too greedily and too deep.
  • πŸ‘ 98
  • πŸ”₯ 30
  • ❀ 25
  • πŸ‘Ž 24
  • πŸ€” 24
  • πŸ‘ 19
  • πŸ’© 18
  • 🀯 15
Post #160 38K
Post #159 41.5K
Go 1.24: A Major Improvement for Tooling: go tools πŸ› 

Hello, folks! The upcoming Go 1.24 (supposed to be coming this month, Feb 2025) introduces a new go tool command, aiming to significantly improve the way project-specific tools are managed. This update eliminates the need for the tools.go workaround, reduces dependency bloat, and improves performance through caching. So,
- No more tools.go hacks
- Faster execution with caching
- Cleaner and more efficient dependency management

How it works? Simple!

Add a tool:

go get -tool github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen@v2.4.1

Run it:

go tool github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen --config=config.yaml openapi.yaml

List available tools:

go tool


Some people say this is one of the most useful changes to Go's tooling in years, making project setups more efficient and maintainable, so take a look in more details here https://www.jvt.me/posts/2025/01/27/go-tools-124/ πŸš€

PS More official docs can be found in the Go 1.24's release notes here: https://tip.golang.org/doc/go1.24#tools
  • πŸ‘ 132
  • ❀ 68
  • πŸ”₯ 43
  • πŸ‘Ž 33
  • πŸ‘ 31
  • πŸ€” 24
  • 🀯 17
  • πŸ’© 13
Post #158 34.7K
Hello, dear community!

I wish you Merry Christmas πŸŽ„ Happy New Year 🎊 and great winter holidays ahead!β˜ƒοΈ ❄️

See you in 2025 πŸ‘‹
  • ❀ 409
  • πŸ‘ 98
  • πŸ”₯ 62
  • πŸ‘ 30
  • πŸ€” 29
  • πŸ’© 22
  • 🀯 12
  • πŸ‘Ž 8
Post #157 38.2K
Coming in Go 1.24: testing/synctest experiment for time and concurrency testing

Testing code that involves time or concurrency can be a struggle. It often leads to hard-to-debug flakes in CI or long-running tests.

Go 1.24 is scheduled to be released in February and the release freeze has begun.

It’s set to include an experimental testing/synctest package designed to make testing code that involves time or concurrency precise and fast.

https://danp.net/posts/synctest-experiment/
  • ❀ 106
  • πŸ‘ 53
  • πŸ”₯ 39
  • πŸ‘ 28
  • πŸ€” 26
  • πŸ’© 22
  • 🀯 21
  • πŸ‘Ž 11
Post #156 39.9K
Go Blueprint: A Quick Way to Start Go Projects βš’

The tool helps you setting up new Go projects fast, with ready-made templates and all the basic setup done for you.

While I’m not really into using tools like this, some might find it useful to save time and focus on development.

From the authors: "Powerful CLI tool designed to streamline the process of creating Go projects with a robust and standardized structure. Not only does Go Blueprint facilitate project initialization, but it also offers seamless integration with popular Go frameworks, allowing you to focus on your application's code from the very beginning."

https://docs.go-blueprint.dev/
docs.go-blueprint.dev Go-Blueprint Docs Official documentation for Go-Blueprint project
  • πŸ”₯ 73
  • πŸ‘ 58
  • ❀ 42
  • πŸ‘Ž 31
  • πŸ‘ 25
  • πŸ’© 17
  • πŸ€” 16
  • 🀯 10
Post #155 34.2K
Go sync.Map: The Right Tool for the Right Job

In Go, sync.Map offers a thread-safe alternative to traditional maps. While sync.Map can be highly effective in scenarios involving heavy concurrent access, it isn't always the best choice. In this article by VictoriaMetrics, you'll learn when to opt for sync.Map, how it differs from regular maps, and the performance trade-offs involved.

https://victoriametrics.com/blog/go-sync-map/index.html
VictoriaMetrics Go sync.Map: The Right Tool for the Right Job Go’s sync.Map isn’t a magic bullet for all concurrent map needs. It’s got some good tricks up its sleeve, like handling reads without locking, but it’s not always the best choice. This article dives into how sync.Map works under the hood, from its two-map…
  • πŸ‘ 55
  • ❀ 48
  • πŸ‘Ž 32
  • πŸ€” 21
  • πŸ‘ 15
  • πŸ”₯ 13
  • πŸ’© 12
  • 🀯 11
Post #154 36K
The standard library of Go 1.23 now includes the new unique package. The purpose behind this package is to enable the canonicalization of comparable values. In other words, this package lets you deduplicate values so that they point to a single, canonical, unique copy, while efficiently managing the canonical copies under the hood. You might be familiar with this concept already, called β€œinterning”.

Let’s dive in to see how it works, and why it’s useful.

https://go.dev/blog/unique
go.dev New unique package - The Go Programming Language New package for interning in Go 1.23.
  • πŸ”₯ 82
  • πŸ‘ 43
  • ❀ 39
  • πŸ‘ 38
  • πŸ‘Ž 19
Post #152 39.3K
Profile-guided optimisation (PGO) is a technique where CPU profile data for an application is collected and fed back into the next compiler build of Go application. The compiler then uses this CPU profile data to optimise the performance of that build by around 2-14% currently (future releases could likely improve this figure further).

In this article, the Grab tech folks show off their wins and learnings, along with the Dockerfile used to make it happen.

https://engineering.grab.com/profile-guided-optimisation

Enjoy!
  • ❀ 70
  • πŸ‘ 60
  • πŸ”₯ 25
  • πŸ€” 24
  • πŸ‘ 21
  • 🀯 4
Post #151 36.6K
Okay based on the first reactions it seemed like the naming convention issue brought by Zach didn't get much reflection in you.

In this case, I'd like to share a more practical guidance I used recently when had to test a k8s operator setup locally.

The topic is:
Go: Testing Kubernetes Applications with EnvTest

Enjoy πŸ™‚

https://blog.marcnuri.com/go-testing-kubernetes-applications-envtest
www.marcnuri.com How to Test Kubernetes Applications in Go with EnvTest: A Practical Guide - Marc Nuri Learn how to streamline integration testing for your Kubernetes operators and controllers using the EnvTest package from controller-runtime.
  • πŸ”₯ 57
  • πŸ‘ 43
  • ❀ 31
  • πŸ‘ 28
  • 🀯 24
Post #150 27.8K
"ok" considered harmful?

β€œJust like there’s an unwritten law that every error variable in Go must be named err, there’s an unwritten law that every map existence variable in Go must be named ok.”

But Zach thinks we can, and should, look at doing better.

https://www.dolthub.com/blog/2024-05-10-ok-considered-harmful/
  • πŸ‘Ž 108
  • πŸ‘ 58
  • πŸ€” 41
  • πŸ’© 23
  • 🀯 19
  • πŸ”₯ 18
  • ❀ 17
Post #149 28.2K
https://go.dev/blog/chacha8rand

Explore the recent advancements in randomness within the Go programming language. Authors Russ Cox and Filippo Valsorda, part of the Go team, look closely at the complexities of addressing security requirements for specific use cases and the implementation of the ChaCha(Rand8) algorithm. Discover how these improvements have enhanced random number generation in Go, culminating in the seamless security enhancements introduced in Go 1.22.
go.dev Secure Randomness in Go 1.22 - The Go Programming Language ChaCha8Rand is a new cryptographically secure pseudorandom number generator used in Go 1.22.
  • πŸ‘ 69
  • πŸ”₯ 38
  • ❀ 30
  • πŸ‘ 25
  • πŸ‘Ž 19
  • 🀯 5
Post #148 31.6K
Mastering Maps in Go: Everything You Need to Know

Maps, also known as associative arrays or hash tables, are vital data structures for solving algorithmic problems in programming. Understanding their features, operations, time and space complexities, and implementation in code is crucial for developers. With this knowledge and practical experience, developers can effectively apply maps to problem-solving scenarios.

This article offers a comprehensive guide to using maps, covering their overview, implementation in Go programming, and strategies for using them in concurrent code.
Hackernoon Mastering Maps in Go: Everything You Need to Know Learn about using maps in Go (golang), including associative arrays, hash maps, collision handling, and sync.Map, with practical code examples.
  • ❀ 51
  • πŸ‘ 45
  • πŸ‘Ž 28
  • 🀯 22
  • πŸ‘ 21
  • πŸ”₯ 17
  • πŸ€” 9
  • πŸ’© 3
Post #146 46K
Initial Thoughts on Go 1.22 β€” 1.22 is due next month, but the release candidate gives us a look at plenty of changes and improvements coming down the pike, including new default behavior for loop variables in for loops, the β€˜rangefunc’ experiment (more on that next), and even some performance improvements.

https://www.dolthub.com/blog/2024-01-12-golang-1-22rc/
  • πŸ”₯ 98
  • ❀ 50
  • πŸ‘ 46
  • 🀯 30
  • πŸ‘ 29
Older posts β†’

About this channel

How can I read @golang without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Go: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Go have?
Go (@golang) has 19.2K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Go know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook β†’Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 β†’