Our great sponsors
|8 days ago||about 2 months ago|
|GNU General Public License v3.0 only||GNU General Public License v3.0 or later|
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
How to start a Go project in 2023
21 projects | news.ycombinator.com | 23 May 2023
Things I can't live without in a new Go project in no particular order:
- https://github.com/golangci/golangci-lint - meta-linter
- https://goreleaser.com - automate release workflows
- https://magefile.org - build tool that can version your tools
- https://github.com/ory/dockertest/v3 - run containers for e2e testing
- https://github.com/ecordell/optgen - generate functional options
- https://golang.org/x/tools/cmd/stringer - generate String()
- https://mvdan.cc/gofumpt - stricter gofmt
- https://github.com/stretchr/testify - test assertion library
- https://github.com/rs/zerolog - logging
- https://github.com/spf13/cobra - CLI framework
FWIW, I just lifted all the tools we use for https://github.com/authzed/spicedb
We've also written some custom linters that might be useful for other folks: https://github.com/authzed/spicedb/tree/main/tools/analyzers
Just migrated our Open Source project to Golang
4 projects | news.ycombinator.com | 21 Mar 2023
How to integrate golangci-lint into a project?
2 projects | /r/golang | 13 Feb 2023
Hey, I try to figure out an elegant way to integrate golangci into a Go project.
A fast HashSet implementation
3 projects | /r/golang | 13 Feb 2023
All of this is nitpicking really, but I would suggest using linters, e.g. https://github.com/golangci/golangci-lint - sometimes annoying, but mostly just helps to avoid discussions like this (and plethora of bugs).
Go 1.20 released
3 projects | /r/golang | 1 Feb 2023
Luciano Remes | Golang is 𝘼𝙡𝙢𝙤𝙨𝙩 Perfect
7 projects | /r/golang | 2 Jan 2023
You should always use golangci-lint, which includes errcheck.
Go API Project Set-Up
7 projects | dev.to | 23 Dec 2022
golangci lint - https://golangci-lint.run/
a tool for quickly creating web and microservice code
28 projects | dev.to | 15 Dec 2022
Code inspection golangci-lint
Introduccion a Golangci Lint
2 projects | dev.to | 26 Nov 2022
Thirteen Years of Go - The Go Programming Language
5 projects | /r/programming | 10 Nov 2022
I disagree with at least half of your post, tooling in Go is amazing overall and there is one linter that pretty much every one is using: https://github.com/golangci/golangci-lint
Why no src directory?
3 projects | /r/golang | 31 May 2023
Why src directory? Git repos are for source code, such name is meaningless. For complex projects I prefer using standard go project layout. For single package or single command projects flat repo is OK.
Directory structure for a golang project
3 projects | /r/golang | 20 May 2023
Standard Go Project Layout3 projects | /r/golang | 20 May 2023
The name of this project is misleading: https://github.com/golang-standards/project-layout/issues/185
What's an ideal project structure for a Golang web service?
7 projects | /r/golang | 8 Apr 2023
Regarding https://github.com/golang-standards/project-layout/issues/38 what exactly is meant by "part of the project structure is a bad practice ( like vendor or pkg directories, we have something called mods now"?7 projects | /r/golang | 8 Apr 2023
Does this project structure make sense?
6 projects | /r/golang | 5 Apr 2023
You can skip the top-level pkg — it’s not needed or recommended. +1 for Fx 🤗
End to end example API written in Go
2 projects | /r/golang | 27 Mar 2023
in which directory should i keep my application package
2 projects | /r/golang | 25 Mar 2023
link to the layout structure: https://github.com/golang-standards/project-layout2 projects | /r/golang | 25 Mar 2023
We just migrated our Open Source Terraform Cloud alternative from Python to Golang - looking for feedback!
2 projects | /r/golang | 21 Mar 2023
Though there are a few projects that do it, putting your code in a pkg subdirectory is non-standard. I don't know if you went by the supposed 'standard' project layout from a certain GitHub repo that unfortunately comes up first in search results, but you may be interested in this issue filed on that repo by one of the Go team members: https://github.com/golang-standards/project-layout/issues/117
What are some alternatives?
ireturn - Accept Interfaces, Return Concrete Types
uber-go-style-guide-kr - Uber's Go Style Guide Official Translation in Korean. Linked to the uber-go/guide as a part of contributions
modern-go-application - Modern Go Application example
gosec - Golang security checker
golangci-lint-action - Official GitHub action for golangci-lint from its authors
gopl.io - Example programs from "The Go Programming Language"
uber-go-style-guide-th - Uber's Go Style Guide Translation in Thai. Linked to the uber-go/guide as a part of contributions https://github.com/uber-go/guide
go-restful-api - An idiomatic Go REST API starter kit (boilerplate) following the SOLID principles and Clean Architecture
go - The Go programming language
go-sample - Go Project Sample Layout
cookiecutter-golang - A Go project template
service - Starter code for writing web services in Go using Kubernetes.