HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
golang
go
Go2014–2026
golang / go

go

The Go programming language

1,181Distinct people
1,944Mentions
14Explicit recommenders
139.9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The Go programming language

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

> To convert the Stream.Reader to an std.Io.Reader, we need to call its interface() method. To get a std.io.Writer from an Stream.Writer, we need the address of its &interface…

j1elo used a recommendation phrase. 14 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 11:34:28 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year1,944 dated mentions

Observed mentions: 2014-12-08 08:41:45 UTC to 2026-10-22 10:17:39 UTC.

0501001502002014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 16 mentions; 1 submissions, 15 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 80 mentions; 17 submissions, 63 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 135 mentions; 18 submissions, 117 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 164 mentions; 20 submissions, 144 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 174 mentions; 26 submissions, 148 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 196 mentions; 30 submissions, 166 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 159 mentions; 21 submissions, 138 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 184 mentions; 34 submissions, 150 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 220 mentions; 45 submissions, 175 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 221 mentions; 27 submissions, 194 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 163 mentions; 13 submissions, 150 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 167 mentions; 24 submissions, 143 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 65 mentions; 15 submissions, 50 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC16115
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC801763
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC13518117
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC16420144
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC17426148
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC19630166
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC15921138
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC18434150
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC22045175
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC22127194
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC16313150
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC16724143
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC651550

From the project README

An excerpt from the repository, fetched Nov 12, 2026.

Read the project’s introduction
The Go Programming Language Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. Gopher image by Renee French, licensed under Creative Commons 4.0 Attribution license. Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go. Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file. Download and Install Binary Distributions Official binary distributions are available at https://go.dev/dl/. After downloading a binary release, visit https://go.dev/doc/install for installation instructions. Install From Source If a binary distribution is not available for your combination of operating system and architecture, visit https://go.dev/doc/install/source for source installation instructions. Contributing Go is the work of thousands of contributors. We appreciate your help! To contribute, please read the contribution guidelines at https://go.dev/doc/contribute. Note that the Go project uses the issue tracker for bug reports and proposals only. See https://go.dev/wiki/Questions for a list of places to ask questions about the Go language.
Read the full README on GitHub

What Hacker News says

164 sources
Well, this works as long as you're using a separate goroutine and the Go runtime creates more than one thread, right? My claim is that a Go runtime that only creates one thread (which is effectively what Joy is) will not work the way you expect in this case. Or, more specifically, that if you have N goroutines that consist of infinite loops of pure computation (or really, anything that doesn't involve receiving from a channel), and at least one other goroutine that's receiving from a channel, your runtime needs to generate at least N+1 OS threads or your last goroutine will never get scheduled. https://github.com/golang/go/issues/11462 seems to be saying the same thing (by setting GOMAXPROCS to 1).
In Show HN: Joy – a Go to JavaScript compiler
In a memory constrained environment, we recently noticed the throughput/latency tradeoff being made by the GC, but having to say that this behavior was not obvious in the first place and we had to dive into the source code to understand things better (which is a good benefit of go being open source, as already stated in the article). The bottom line is that the scavenger will allow the OS to claim free memory only at least 5 minutes after it was GC'ed. For us the solution was to "force" releasing the free memory to the OS [1], and even since then things have been much smoother in the context of our particular app. On this topic, there's an open issue [2] to look at making the scavenger more prompt and aggressive. [1] https://medium.com/samsara-engineering/running-go-on-low-mem... [2] https://github.com/golang/go/issues/16930
In Why I love Go
Error handling is what happen after you discover there was an error. In Go, "checking" for errors may be skipped (and people make mistake, even True Programmers), in which case they are handled just as if they were ignored. Even if the error can be ignored for fmt.Println, it is not clear from the example whether it was even taken into account or not. The following could be required: _ := fmt.Println("hello world") That means that the function call can return an error, and thus you have to use the return value, but the programmer decided to ignore it. Contrast it with: fmt.Println("hello world") Did the programmer know there was possibly an error? What happens if there is an error (not specifically for this example, but in general), and you don't check for it? then it is ignored. In another language, the same line could be the s
Read the rest
ource of an error; but only error handling depends on the programmer, not error checking. Moreover, the default handling strategy is to abort execution. Actually ignoring errors requires more work. And errcheck is apparently no silver bullet: https://github.com/golang/go/issues/20148
In Why I love Go
I too wish there was more standard containers available in Go's standard library. However, I don't think there will be a collections package unless and until generics make it into the language. That said, there are some pretty good libraries out there: - https://github.com/timtadh/data-structures ## I wrote this one. - https://github.com/Workiva/go-datastructures ## this one is also popular. - https://github.com/golang/go/wiki/Projects#data-structures ## big list here.
In Why I love Go
In net/http, if a handler panics you don't want it to bring down your entire application. For more info, see https://golang.org/pkg/net/http/#Handler The encoding/json package is interesting because it uses both panic() and recover() internally in a way more reminiscent to how exceptions are used in other languages (that is, for control flow). For example, https://github.com/golang/go/blob/2596a0c075aeddec571cd658f7... panics, and https://github.com/golang/go/blob/2596a0c075aeddec571cd658f7... recovers it. Both uses are quite uncommon, though.
In Understanding Go panic output
Can you give an example of this? Most of the compilers I've seen have excellent code bases, with good separation between the different components, probably because compilers are so well-studied. It can be surprising what the most productive part of the compiler is to optimize. Often the lexer is heavily optimized due to its outsized impact on performance, but even then, the code looks idiomatic to me. - Scanner.Scan() https://github.com/golang/go/blob/master/src/go/scanner/scan... - scan() https://github.com/Microsoft/TypeScript/blob/master/src/comp... - Lexer::LexTokenInternal() https://github.com/llvm-mirror/clang/blob/master/lib/Lex/Lex... All three examples are heavily optimized and hand-written but they’re still clear and easy to follow.
In Ask HN: Which TypeScript codebase should I study to get better?

Showing the 15 most recent of 164 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.