-
Notifications
You must be signed in to change notification settings - Fork 17
golang
Hanlei Qin edited this page Jun 16, 2025
·
67 revisions
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
- Official: Documents, Wiki, Talks
- Go Developer Roadmap Roadmap to becoming a Go developer
- Ultimate Go study guide, with heavily documented code and programs analysis, all in 1 place
- Effective Go - 中英双语版
- Go Code Review Comments: This page collects common comments made during reviews of Go code, so that a single detailed explanation can be referred to by shorthands. This is a laundry list of common mistakes, not a comprehensive style guide.
- Go-advices List of advices and tricks for Go ʕ◔ϖ◔ʔ
- uber-go/guide The Uber Go Style Guide.
- ⭐The Go Programming Language - zh-CN, by gopl-zh
- Go Web 编程: A golang ebook intro how to build a web with golang
- go-perfbook - zh-CN This document outlines best practices for writing high-performance Go code. The first sections cover writing optimized code in any language. The later sections cover Go-specific techniques.
- Go 语言高性能编程: high performance coding with golang(Go 语言高性能编程,Go 语言陷阱,Gotchas,Traps)
- philosophy
- What Go values look like in memory?: This post is about basic types, structs, arrays, and slices.
- ⭐Go 语言设计与实现:本书的主要内容可以分成四个主要部分,分别是编译原理、运行时、基础知识和进阶知识,这四部分几乎可以覆盖 Go 语言从编译到运行的方方面面,让我们对 Go 语言有更加整体和深刻的认识。
- golang-notes Go source code analysis(zh-CN)
- Go 语言原本: 一份不太简短的源码研究 - 在线阅读
- Go1.5源码剖析
- Gorilla Web Toolkit, Gorilla is a web toolkit for the Go programming language that provides useful, composable packages for writing HTTP-based applications.
- GopherJS compiles Go code (golang.org) to pure JavaScript code. Its main purpose is to give you the opportunity to write front-end code in Go which will still run in all browsers.
- torrent-client Tiny BitTorrent client written in Go. Read the blog post: https://blog.jse.li/posts/torrent/
- errors: Simple error handling primitives
- go-lua is a port of the Lua 5.2 VM to pure Go. It is compatible with binary files dumped by luac, from the Lua reference implementation.
- LogrusLogrus is a structured logger for Go (golang), completely API compatible with the standard library logger.
- gogf/gf GoFrame is a modular, full-featured and production-ready application development framework of golang. Providing a series of core components and dozens of practical modules, such as: cache, logging, containers, timer, resource, validator, database orm, etc. Supporting web server integrated with router, cookie, session, middleware, logger, configu… https://goframe.org
- ray A fast and simple framework for building and running distributed applications. Ray is packaged with RLlib, a scalable reinforcement learning library, and Tune, a scalable hyperparameter tuning library. https://ray.io
- go-micro A Go microservices development framework https://go-micro.dev
- ⚡ Go web framework benchmark
- beego is used for rapid development of RESTful APIs, web apps and backend services in Go. It is inspired by Tornado, Sinatra and Flask. beego has some Go-specific features such as interfaces and struct embedding.
- gin is a web framework written in Go (Golang). It features a martini-like API with performance that is up to 40 times faster thanks to httprouter. If you need performance and good productivity, you will love Gin.
- Fiber is an Express inspired web framework built on top of Fasthttp, the fastest HTTP engine for Go. Designed to ease things up for fast development with zero memory allocation and performance in mind.
- iris is a fast, simple yet fully featured and very efficient web framework for Go.
- pixel A hand-crafted 2D game library in Go
-
ebiten A dead simple 2D game library in Go https://ebiten.org/
- gozelda An implementation of a GameBoy era zelda game using Go and Ebiten
- Korok is a free lightweight, cross-platform, component-based 2D game engine written in Golang and released under the zlib license. Greatly inspired by bitsquid blog.
- oak A pure Go game engine
- G3N (pronounced "gen") is an OpenGL 3D Game Engine written in Go. It can be used to write cross-platform Go applications that show rich and dynamic 3D representations - not just games. A basic integrated GUI framework is provided, and 3D spatial audio is supported through OpenAL.
- agones, open match
- Pitaya is an simple, fast and lightweight game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK. It provides a basic development framework for distributed multiplayer games and server-side applications.
- Nakama: Distributed server for social and realtime games and apps.
- goworld: Scalable Distributed Game Server Engine with Hot Reload in Golang
- leaf: A pragmatic game server framework in Go (golang).
- Nano is an easy to use, fast, lightweight game server networking library for Go.
- gonet - deprecated, gonet2 - inactive
- 发行闭源go包的办法:http://www.golangtc.com/t/540eaa6e320b527a3b000161
- 主要思想是将.a和.go文件放在GOROOT下冒充系统库,因为系统库不会主动编译。
- 但其中要注意,.go文件必须定义外部使用的接口,即大写开头的变量和方法,内容可以为空。
- 交叉编译go目标代码举例:
> CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/main src/main/main.go
- 其中参数可选:
OS ARCH OS version linux 386 / amd64 / arm >= Linux 2.6 darwin 386 / amd64 OS X freebsd 386 / amd64 >= FreeBSD 7 windows 386 / amd64 >= Windows 2000
- 其中参数可选:
- 为什么 Go 语言没有泛型
- Awesome Go: A curated list of awesome Go frameworks, libraries and software
- Golang从入门到跑路: 🌷 awesome awesome go, study golang from basic to proficient
- Go Developer Roadmap's Resources
- Go Patterns Curated list of Go design patterns, recipes and idioms http://tmrts.com/go-patterns
芝士就是力量,法国就是培根!
Knowledge is power -- Francis Bacon
人要是没有梦想,和咸鱼有什么分别?光标请勿在最高司令官身上停留!
- mathematics
- algorithm
- theory-of-computation
- compiler
- operating-system
- networks
- security
- computer-graphics
- artificial-intelligence
- software-engineering
- database
- application-development
- embedded-development
- third-party