This page is a supplement to| go.dev
OpenZeppelin's Notorious Bug Digest #4 analyzes critical Web3 vulnerabilities: deflationary token exploits, ERC4626 overrides, Permit2 DoS attacks, and Rust shift overflows. Essential reading for Web3 security professionals.| blog.openzeppelin.com
Goroutines Are Cheap, but Not Free| Fillmore Labs Blog
Understanding Go Error Types: Pointer vs. Value| Fillmore Labs Blog
Prometheus project documentation for Configuration| prometheus.io
Whenever a bug is discovered, it’s immediately apparent that three things have gone wrong. They used the wrong language, and this never would have happened if they’d written it in the bugfree language. They used the wrong development methodology, and this never would have happened if they’d used the prevent this bug technique. And finally, they ignored best practice and didn’t use the proper coding style. The bug would have been extremely obvious if only they’d replaced all v_w_ls w...| flak.tedunangst.com
2 comments| lobste.rs
2 comments| lobste.rs
Adding type parameters to interface types is surprisingly powerful| go.dev
Documentation for VictoriaMetrics, VictoriaLogs, Operator, Managed VictoriaMetrics and vmanomaly| docs.victoriametrics.com
This is the second blog in a two-part series that describes how Uber adopted Arm at scale. In the first part, we described the foundational work of introducing Arm-based hosts into an extensive x86 infrastructure. We covered how we untangled multiple layers of infrastructure tailored to a single architecture environment and reached the initial milestone of building and deploying a simple service to Arm-based hosts through our deployment platform. In this blog, we describe the journey from a s...| Uber Blog
Introduction| Lars Hupel’s website
Go team plans around error handling support| go.dev
Go 1.24 improves map performance with a brand new map implementation| go.dev
Codebase Refactoring (with help from Go)| go.dev
Go 1.25 simplifies the language spec by removing the notion of core types| go.dev
Go, Backwards Compatibility, and GODEBUG| go.dev
TL;DR ¶ Some of the wisdom contained in Josh Bloch’s Effective Java book is relevant to Go. panic and recover are best reserved for exceptional circumstances. Reliance on panic and recover can noticeably slow down execution, incurs heap allocations, and precludes inlining. Internal handling of failure cases via panic and recover is tolerable and sometimes beneficial. Abusing Java exceptions for control flow ¶ Even though my Java days are long gone and Go has been my language of predilecti...| jub0bs.com
Go is one of the most popular server side programming languages created by Google. Go is a compiled language and it has a simple and concise syntax.| golangbot
Go concurrency simplified. Part 1: Channels and goroutines| n0rdy personal blog
This is a discussion about a new syntax that may be used to handle errors. This is issue #71203 converted into a discussion. I've written a tool that converts ordinary Go code into code that uses t...| GitHub
Why should we add generics to Go, and what might they look like?| go.dev
There’s an excellent Go testing pattern that too few people know. I can teach it to you in 30 seconds. Instead of writing Go tests like this: // The common, unrefined way. username := GetUser() if username != "dummyUser" { t.Errorf("unexpected username: got %s, want: %s", username, "dummyUser") } Write your tests like this, beginning each assertion with if got, want :=: // The underused, elegant way. if got, want := GetUser(), "dummyUser"; got != want { t.Errorf("username=%s, want=%s", got,...| mtlynch.io
Overview ¶| pkg.go.dev
An increasingly-frequently asked question in the Go subreddit is some| jerf.org
Go 1.13 Release Notes| go.dev
A description of generic alias types, a planned feature for Go 1.24| go.dev
Seriously, is there a good reason for this? I feel like I'm going crazy because almost every language doc I've looked at is legitimately awful in a bunch of obvious ways. It's not uncommon to see third party libraries updated by a single person that are better structured, more thorough, with better layouts than the official documentation upheld by the language team itself.| walnut356.github.io
本文永久链接 - https://tonybai.com/2024/08/19/some-changes-in-go-1-23 距离上一次Go 1.22版本发布又过去六个月了,我们如期迎来了Go 1.23版本的发布。 对于Go项目乃至整个Go社区而言,这个版本还有一点额外| tonybai.com
As mentioned yesterday, today we’re taking a bit of a step back to an earlier portion of the spec, which was just updated. Here’s the first part of the updated section of the spec (new additions emphasized): For statements with range clause A “for” statement with a “range” clause iterates through all entries of an array, slice, string or map, values received on a channel, integer values from zero to an upper limit [Go 1.| Boldly Go
Go 1.23 Release Notes| go.dev
Interacting with the Go runtime with c++ (or c, i think)| xnacly.me
Most programming language ecosystems provide assert functions in their testing libraries but not Go's. Go's standard testing package follows a more direct and to-the-point approach.| henvic.dev
本文永久链接 - https://tonybai.com/2024/05/30/go-1-23-foresight 2024年5月22日,Go 1.23版本功能特性正式冻结,后续将只改bug,不增加新feature。 对Go团队来说,这意味着开始了Go 1.23rc1的冲刺,对我们| tonybai.com
TL;DR ¶ In this post, I investigate why developers struggle with CORS and I derive Fearless CORS, a design philosophy for better CORS middleware libraries, which comprises the following twelve principles: Optimise for readability Strive for a simple and cohesive API Provide support for Private Network Access Categorise requests correctly Validate configuration and fail fast Treat CORS as a compilation target Provide no default configuration Do not preclude legitimate configurations Ease trou...| jub0bs.com
Ardan Labs is trusted by small startups and Fortune 500 companies to train their engineers and develop business software solutions and applications.| www.ardanlabs.com
Proposal: Less Error-Prone Loop Variable Scoping| go.googlesource.com
Append and copy are commonly used functions, but they can have some surprising behavior. This article helps you build a good intuition by showing you how to implement them yourself.| www.willem.dev
I’ve been quiet in November because I’ve been working on a small toy project.| dx13.co.uk
Documentation| go.dev
Go Wiki: Rangefunc Experiment| go.dev
Documentation| go.dev
Go 1.18 Release Notes| go.dev
So, this past week I learned something fun at work. Well I learned many things, but this just ticked all the boxes of a great party trick; ✅ short ✅ unexpected ✅ makes total sense if you think about it| tpaschalis.me
The second part of a three part look at new features in Go 1.20.| blog.carlana.net
Go 1.20 Release Notes| go.dev
Learn how to use the popular time.Ticker struct in loops| gosamples.dev
Learn what it is for and how to use the built-in recover() function| gosamples.dev
To compare two strings in Go (Golang), use the comparison operators ==, !=, >=, <=, <, >. Alternatively, you can use the 'strings.Compare()' function| gosamples.dev
Learn how to define a function to accumulate slice values using Generics| gosamples.dev
Learn how to remove elements from a slice that do not meet a certain condition using Generics| gosamples.dev
Learn how to check if a slice contains a given value using Generics| gosamples.dev
Learn how to check if a key exists in a map| gosamples.dev
Go Modules Reference| go.dev
How to name your packages.| go.dev
Go 1.9 Release Notes| go.dev
How and when to use Go maps.| go.dev
Go 1.21 Release Notes| go.dev
Go 1.1 Release Notes| go.dev
Documentation| go.dev
func AppendBool ¶| pkg.go.dev
Documentation| go.dev
Why the function signatures in the slices packages are so complicated.| go.dev
Type Parameters Proposal| go.googlesource.com
I try to explain why the problem of calculating the exact contents of a type set in Go is harder than it might seem on the surface.| blog.merovius.de
本文永久链接 - https://tonybai.com/2023/08/20/some-changes-in-go-1-21 美国时间2023年8月8日,Go团队在Go官博上正式发布了1.21版本! 早在今年4月末,我就撰写了文章《Go 1.21新特性前瞻》,对Go 1.21可能引| tonybai.com
How to use Go slices, and how they work.| go.dev
An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.| prometheus.io
Story time When I go on vacation with a fellow Python developer, inevitably I will talk about Python. 😁 Back in September, Andrea and I drove the Cabot Trail with our friends Dusty and Jen, which led to a discussion about the match statement and how Dusty and I both wished| Tall, Snarky Canadian
An introduction to the basic operations needed to get started with Go modules.| go.dev
An introduction to Go errors.| go.dev
It'll surprise no one to hear that TypeScript is my favorite programming language. But I do still enjoy dabbling in other languages. It's a great way to get perspective on what makes TypeScript unique, and how other language designers are thinking about the same problems. My favorite way to learn a new language is through the annual Advent of Code (AoC). AoC runs every year from Dec 1-25. Every day unlocks a new puzzle with two parts which build on each other. Lots of people do these puzzles ...| effectivetypescript.com
Let's open a hex editor and see what this thing is made of| Fly
Documentation| go.dev
An introduction to generics in Go.| go.dev