Awesome Go
Go 개발자를 위한 최고의 라이브러리, 프레임워크, 도구 모음
Awesome Go
Go 개발자를 위한 최고의 라이브러리, 프레임워크, 도구 모음
웹 프레임워크
고성능 프레임워크
| 이름 | Stars | 특징 | |------|-------|------| | Fiber | 33k+ | Express 스타일, 최고 성능 | | Gin | 79k+ | 가장 인기, 미들웨어 풍부 | | Echo | 30k+ | 미니멀, 고성능 | | Chi | 18k+ | net/http 호환, 라우팅 |
풀스택 프레임워크
| 이름 | Stars | 특징 | |------|-------|------| | Buffalo | 8k+ | Rails 스타일, 풀스택 | | Beego | 31k+ | MVC, ORM 내장 |
데이터베이스
ORM
| 이름 | Stars | 특징 | |------|-------|------| | GORM | 37k+ | 가장 인기, 풍부한 기능 | | Ent | 16k+ | Facebook, 타입 안전 | | SQLBoiler | 7k+ | 코드 생성 기반 | | SQLC | 13k+ | SQL → Go 코드 생성 |
데이터베이스 드라이버
| 이름 | 데이터베이스 | 특징 | |------|------------|------| | pgx | PostgreSQL | 고성능, 순수 Go | | go-mysql-driver | MySQL | 표준 database/sql | | go-sqlite3 | SQLite | CGO 필요 | | mongo-go-driver | MongoDB | 공식 드라이버 |
캐시 & 키-밸류
| 이름 | Stars | 특징 | |------|-------|------| | go-redis | 20k+ | Redis 클라이언트 | | bbolt | 8k+ | 임베디드 KV | | badger | 14k+ | LSM 기반 KV |
CLI 도구
CLI 프레임워크
| 이름 | Stars | 특징 | |------|-------|------| | Cobra | 38k+ | kubectl, hugo 사용 | | urfave/cli | 22k+ | 간결한 API | | Bubble Tea | 28k+ | TUI 프레임워크 | | Viper | 27k+ | 설정 관리 |
유명 CLI 도구 (Go로 작성)
| 이름 | 용도 | 특징 | |------|------|------| | kubectl | Kubernetes CLI | 클러스터 관리 | | Hugo | 정적 사이트 생성 | 가장 빠른 SSG | | Terraform | IaC | 인프라 프로비저닝 | | Docker | 컨테이너 | 컨테이너 런타임 | | Prometheus | 모니터링 | 메트릭 수집 |
테스팅
| 이름 | Stars | 특징 | |------|-------|------| | testify | 23k+ | Assert, Mock, Suite | | gomock | 9k+ | 인터페이스 모킹 | | ginkgo | 8k+ | BDD 스타일 | | go-cmp | 4k+ | 구조체 비교 |
API 개발
REST
| 이름 | Stars | 특징 | |------|-------|------| | Swagger/OpenAPI | 10k+ | 문서 자동 생성 | | go-restful | 5k+ | RESTful 웹 서비스 |
GraphQL
| 이름 | Stars | 특징 | |------|-------|------| | gqlgen | 10k+ | 코드 생성 기반 | | graphql-go | 10k+ | 런타임 기반 |
gRPC
| 이름 | Stars | 특징 | |------|-------|------| | grpc-go | 21k+ | 공식 gRPC | | grpc-gateway | 18k+ | REST ↔ gRPC | | Connect | 3k+ | Buf 팀, 간결한 API |
로깅 & 모니터링
| 이름 | Stars | 특징 | |------|-------|------| | zap | 22k+ | 고성능, 구조화 로깅 | | logrus | 25k+ | 가장 인기 | | zerolog | 11k+ | 제로 할당 | | slog | 표준 | Go 1.21+ 표준 라이브러리 |
유틸리티
JSON
| 이름 | Stars | 특징 | |------|-------|------| | gjson | 14k+ | JSON 파싱, 쿼리 | | sonic | 7k+ | 고성능 JSON | | jsoniter | 14k+ | encoding/json 대체 |
동시성
| 이름 | Stars | 특징 | |------|-------|------| | errgroup | 표준 | 에러 처리 고루틴 | | conc | 9k+ | 안전한 동시성 패턴 | | ants | 13k+ | 고루틴 풀 |
DevOps & Cloud Native
Kubernetes
| 이름 | 용도 | |------|------| | client-go | K8s 클라이언트 | | controller-runtime | 오퍼레이터 개발 | | kubebuilder | 오퍼레이터 스캐폴딩 |
컨테이너
| 이름 | 용도 | |------|------| | containerd | 컨테이너 런타임 | | buildkit | 컨테이너 빌드 | | ko | Go 앱 컨테이너화 |
학습 자료
공식 자료
책
커뮤니티
프로젝트 템플릿
표준 레이아웃
project/ ├── cmd/ # 메인 애플리케이션 ├── internal/ # 비공개 코드 ├── pkg/ # 공개 라이브러리 ├── api/ # API 정의 (OpenAPI, protobuf) ├── configs/ # 설정 파일 ├── scripts/ # 빌드/배포 스크립트 ├── test/ # 추가 테스트 데이터 ├── go.mod └── Makefile 추천 도구 조합
REST API 서버:
- Fiber/Gin + GORM + pgx
- Swagger + Air (hot reload)
마이크로서비스:
- gRPC + Connect + Ent
- Kubernetes + Prometheus
CLI 도구:
- Cobra + Viper + Bubble Tea