Introduction-to-Golang
【未来服务器端编程语言】最全空降golang资料补给包(满血战斗),包含文章,书籍,作者论文,理论分析,开源框架,云原生,大佬视频,大厂实战分享ppt
Top Related Projects
The Go programming language
A curated list of awesome Go frameworks, libraries and software
Curated list of project-based tutorials
Learn Go with test-driven development
❤️ 1000+ Hand-Crafted Go Examples, Exercises, and Quizzes. 🚀 Learn Go by fixing 1000+ tiny programs.
Training for Golang (go language)
Quick Overview
The "Introduction-to-Golang" repository by 0voice is a comprehensive resource for learning the Go programming language. It provides a curated collection of tutorials, articles, and resources aimed at helping beginners and intermediate developers understand and master Go.
Pros
- Extensive collection of learning materials covering various aspects of Go
- Well-organized content structure, making it easy to navigate and find specific topics
- Regularly updated with new resources and information
- Includes both beginner-friendly and more advanced topics
Cons
- Primarily in Chinese, which may limit accessibility for non-Chinese speakers
- Some links may become outdated over time
- Lacks interactive coding exercises or hands-on projects
- May overwhelm beginners with the sheer amount of information
Code Examples
As this is not a code library but rather a collection of learning resources, there are no specific code examples to provide. The repository itself contains links to various tutorials and articles that include code examples, but these are not directly part of the repository's content.
Getting Started
Since this is not a code library, there's no specific installation or setup process. To get started with the "Introduction-to-Golang" repository:
- Visit the repository at https://github.com/0voice/Introduction-to-Golang
- Browse through the README.md file to find topics of interest
- Click on the links provided to access tutorials, articles, and resources
- Consider starring or watching the repository to stay updated with new additions
Note: Knowledge of Chinese is beneficial for fully utilizing this resource, as much of the content is in Chinese.
Competitor Comparisons
The Go programming language
Pros of go
- Official Go language repository with comprehensive documentation and source code
- Actively maintained by the Go team with frequent updates and bug fixes
- Includes the complete Go toolchain, standard library, and runtime
Cons of go
- Large repository size, which may be overwhelming for beginners
- Focuses on language implementation rather than learning resources
- Requires more technical knowledge to navigate and understand
Code comparison
Introduction-to-Golang:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
go:
// src/runtime/proc.go
func main() {
g := getg()
// ...
fn := main_main
fn()
// ...
}
Summary
Introduction-to-Golang is a curated collection of Go learning resources, making it ideal for beginners. It offers a structured approach to learning Go with various tutorials, articles, and examples.
go is the official Go language repository, containing the complete Go implementation, toolchain, and standard library. It's more suitable for experienced developers and those interested in the language's internals.
While Introduction-to-Golang focuses on educational content, go provides the actual language implementation and tools. Beginners may find Introduction-to-Golang more accessible, while advanced users might prefer go for its comprehensive codebase and direct involvement in language development.
A curated list of awesome Go frameworks, libraries and software
Pros of awesome-go
- Comprehensive list of Go resources, libraries, and tools
- Well-organized into categories for easy navigation
- Regularly updated with community contributions
Cons of awesome-go
- Lacks in-depth explanations or tutorials for beginners
- May be overwhelming due to the sheer volume of information
Code comparison
Not applicable, as both repositories primarily contain curated lists and resources rather than code samples.
Summary
awesome-go is a extensive collection of Go-related resources, offering a wide range of tools, libraries, and frameworks for developers. It's well-maintained and frequently updated, making it an excellent reference for both beginners and experienced Go programmers.
Introduction-to-Golang, on the other hand, focuses on providing a structured learning path for beginners. It includes tutorials, articles, and resources specifically tailored to help newcomers understand Go programming concepts.
While awesome-go excels in breadth and comprehensiveness, Introduction-to-Golang offers a more guided approach to learning Go. The choice between the two depends on the user's needs: those seeking a vast array of resources and tools would benefit from awesome-go, while beginners looking for a structured introduction to Go might prefer Introduction-to-Golang.
Both repositories serve valuable purposes in the Go community, catering to different aspects of learning and working with the language.
Curated list of project-based tutorials
Pros of project-based-learning
- Covers a wide range of programming languages and technologies, not limited to Go
- Provides hands-on projects for practical learning across various domains
- Regularly updated with new projects and resources
Cons of project-based-learning
- Less focused on Go-specific content compared to Introduction-to-Golang
- May lack the depth of Go-specific tutorials and resources
- Could be overwhelming for beginners due to the vast array of options
Code Comparison
While a direct code comparison is not relevant due to the nature of these repositories, here's an example of how they might differ in presenting Go-related content:
Introduction-to-Golang:
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}
project-based-learning (Go section):
## Go
- [Build a Simple Web Server](https://example.com/go-web-server)
- [Create a RESTful API](https://example.com/go-rest-api)
- [Develop a CLI Tool](https://example.com/go-cli-tool)
The Introduction-to-Golang repository focuses specifically on Go programming with code examples, while project-based-learning provides links to various Go projects without directly including code snippets.
Learn Go with test-driven development
Pros of learn-go-with-tests
- Focuses on test-driven development (TDD) approach
- Provides hands-on exercises with step-by-step explanations
- Covers advanced topics like concurrency and property-based testing
Cons of learn-go-with-tests
- May be challenging for absolute beginners
- Primarily text-based content, lacking visual aids or videos
- Covers fewer topics compared to Introduction-to-Golang
Code Comparison
learn-go-with-tests:
func TestHello(t *testing.T) {
got := Hello("Chris")
want := "Hello, Chris"
if got != want {
t.Errorf("got %q want %q", got, want)
}
}
Introduction-to-Golang:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
The code comparison shows that learn-go-with-tests emphasizes writing tests alongside the main code, while Introduction-to-Golang focuses on basic syntax and concepts. learn-go-with-tests encourages a more robust development approach, but may be more complex for beginners. Introduction-to-Golang provides a simpler entry point but may not instill best practices from the start.
❤️ 1000+ Hand-Crafted Go Examples, Exercises, and Quizzes. 🚀 Learn Go by fixing 1000+ tiny programs.
Pros of learngo
- More structured and comprehensive learning path with organized chapters and exercises
- Interactive coding exercises with hands-on practice
- Regular updates and maintenance, ensuring up-to-date content
Cons of learngo
- Primarily focused on beginners, may lack advanced topics
- English-only content, potentially limiting accessibility for non-English speakers
Code Comparison
learngo:
package main
import "fmt"
func main() {
fmt.Println("Hello, Gopher!")
}
Introduction-to-Golang:
package main
import "fmt"
func main() {
fmt.Println("你好,Go语言!")
}
The code examples demonstrate a basic "Hello World" program in both repositories. The main difference is that Introduction-to-Golang uses Chinese characters in its output, reflecting its focus on Chinese-speaking learners.
learngo provides a more structured approach to learning Go, with interactive exercises and a well-organized curriculum. It's particularly suitable for beginners and those who prefer a hands-on learning experience. However, it may not cover advanced topics as extensively as Introduction-to-Golang.
Introduction-to-Golang offers a broader range of topics and resources, including more advanced concepts. It also caters to Chinese-speaking learners, which can be advantageous for non-English speakers. However, it may lack the interactive elements and structured learning path found in learngo.
Training for Golang (go language)
Pros of GolangTraining
- More comprehensive coverage of Go concepts and features
- Includes practical exercises and examples for hands-on learning
- Regularly updated with new content and improvements
Cons of GolangTraining
- Less structured organization compared to Introduction-to-Golang
- May be overwhelming for absolute beginners due to its extensive content
- Lacks a clear progression path for learners
Code Comparison
Introduction-to-Golang:
package main
import "fmt"
func main() {
fmt.Println("Hello, 世界")
}
GolangTraining:
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
foo()
}
func foo() {
fmt.Println("I'm in foo")
}
GolangTraining provides more complex examples and functions, demonstrating practical usage of Go concepts. Introduction-to-Golang focuses on simpler, foundational examples to introduce basic syntax and concepts.
Both repositories offer valuable resources for learning Go, with Introduction-to-Golang providing a more structured approach for beginners, while GolangTraining offers a deeper dive into advanced topics and practical applications. The choice between the two depends on the learner's experience level and learning style preferences.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
ðððæå ¨ç©ºéGolangèµæè¡¥ç»å ï¼æ»¡è¡ææï¼ï¼å å«æç« ï¼ä¹¦ç±ï¼ä½è 论æï¼ç论åæï¼å¼æºæ¡æ¶ï¼äºåçï¼å¤§ä½¬è§é¢ï¼å¤§åå®æå享ppt
ââ æªæ¥æå¡å¨ç«¯ç¼ç¨è¯è¨
ðââ ç¯å¢å®è£ | ð ç¥è¯å½çº³ | ð çµåä¹¦ç± |
---|---|---|
ð ç²¾éæç« | ð½ 大佬è§é¢ | ð å¼æºé¡¹ç® |
ð å¦æ¯è®ºæ | ð¼ 大ä¼PPT | â äºåç |
ð£ãä»æ¥æ¨èé 读ãGoèªå¸¦åºç使ç¨è¯´æ
ð ãè¿ä¸ä¼å ¥é¨ï¼æ¾æãGoè¯è¨åºç¡è¯æ³å®å ¸
ð¡ãä¸åå¨æï¼å¤©ä¸ææãGo è¯è¨åèæå
ð¤ã导å¾è¾ å©ï¼æå¦ç¥å©ãGolang å ¥é¨ç¬è®°ï¼pdfçä¸è½½ï¼
ð§âð¤âð§ Rob Pikeè°Google Go
Google · Goè¯è¨ä¹ç¶
1. Robï¼ä½ å建äºGoogle Goè¿é¨è¯è¨ãä»ä¹æ¯Google Goï¼è½ç®ææ¼è¦çä»ç»ä¸ä¸Google Goåï¼
2. Goç主è¦ç¹ç¹æ¯ä»ä¹ï¼æä»ä¹éè¦åè½ï¼
3. å¨æ们继ç»è¯é¢ä¹åï¼è½å¦è§£éä¸ä¸ä¸ºä»ä¹Goç¼è¯å¨è½è¾¾å°é£ä¹å¿«çç¼è¯é度å¢ï¼æä»ä¹æ³å®ï¼
4. 让æ们å¼å§èèGoéçç±»åç³»ç»å§ãGoéé¢æç»æï¼structï¼ãæç±»åï¼typeï¼,é£ä¹Goéçç±»åæ¯ä»ä¹ï¼
5. é£ä¹è¿äºæ¹æ³åªæ¯å¨å å é¨å¯è§å½ï¼
6. ä½ çæææ¯ï¼æå¯ä»¥ç»intå¢å æ¹æ³ï¼ä½æ¯å¿ é¡»å 使ç¨typedefåï¼
7. ä½ ä»¬åé´äºRubyéå¼æ¾ç±»çææ³ï¼è¿å¾æææãRubyçå¼æ¾ç±»å®é ä¸æ¯å¯ä»¥ä¿®æ¹ç±»å¹¶å¢å æ°çæ¹æ³ï¼è¿æ¯æç ´åæ§çï¼ä½æ¯ä½ 们çæ¹æ³æ¬è´¨ä¸æ¯å®å ¨çï¼å 为å建äºæ°çä¸è¥¿ã
8. ä½ è¿æå°äºtypedefï¼æ¯å«typedefå§ï¼
9. Typedefå¨Céæ¯ä¸ç§é¢å¤çæ令åï¼ãç¼è¾æ³¨/å è´£ç³æï¼Cè¯è¨éçtypedefä¸é¢å¤çæ å ³ã
10. æ们ä»åºå±è¯´èµ·å§ï¼å¨Goéæå°çç±»åæ¯ä»ä¹ï¼
11. ä½æ¯ï¼intè¿æ ·çç±»åæ¯å¼ç±»å对å§.
12. å®ä»¬ç±»ä¼¼C++çå¼ç¨åï¼
13. å®æ¯ç»æå é¨ä¸ä¸ªå¤å对象ã
14. ä½ æå°è¿æ¥å£æ¯è¾æ趣ï¼é£ä¸é¢å±ä»¬å°±è°è°è¿ä¸é¨åã
15. æç§ç¨åº¦ä¸æç¹ç±»ä¼¼ç»æåç±»åç³»ç»ï¼structural typing)
16. ä½ æå°è¿ç±»ï¼ä½Go没æç±»ï¼å¯¹å§ã
17. ä½æ¯æ²¡æç±»æä¹å»å代ç ï¼
18. å¦æææä¸äºè¡ä¸ºè¦å®ç°ï¼èä¸æ³æ¾å¨å¤ä¸ªstructséï¼æä¹å»å ±äº«è¿äºè¡ä¸ºï¼
19. å¦ææå¤é继æ¿å½åå²çªçé®é¢è¯¥æä¹åï¼
20. å 为系ç»ä¸æ²¡ææ ¹å¯¹è±¡ææ ¹ç±»ï¼å¦æææ³å¾å°ä¸ä¸ªæ¥æä¸åç±»åçç»æçå表ï¼åºè¯¥æä¹åï¼
21. Goéæå«åGoroutinesçä¸è¥¿ï¼å®ä»¬åcoroutinesæä»ä¹åºå«ï¼ä¸ä¸æ ·ä¹ï¼
22. ä½ æå°ä½ 们使ç¨äºm:n线ç¨æ¨¡åï¼å³m个coroutinesæ å°å°n个线ç¨ä¸ï¼
23. Goroutinesæç¨äºéä¿¡çééåï¼
24. ä½ æå°ä½ 们æç¼åçåæ¥ééåå¼æ¥ééã
25. æ¯ä¸ªGoroutineå°±åæ¯ä¸ä¸ªå°ç线ç¨ï¼å¯ä»¥è¿ä¹ç»è¯»è 解éå§ã
26. å®ä»¬æ¯è½»é级çãä½æ¯æ¯ä¸ªçº¿ç¨åæ ·é½é¢åé æ 空é´ï¼å èå®ä»¬é常èè´¹èµï¼Goroutinesæ¯æä¹å¤ççå¢ï¼
27. æ们åæ¥è°è°èªå¨åæ¹é¢çä¸è¥¿ï¼æåä½ ä»¬æ¯å°Goè¯è¨ä½ä¸ºç³»ç»çº§è¯è¨æ¥æ¨å¹¿çï¼ä¸ä¸ªæ趣çéæ©æ¯ä½¿ç¨äºåå¾åæ¶å¨ï¼ä½æ¯å®é度并ä¸å¿«æè 说æåå¾åæ¶é´æé®é¢ï¼å¦æç¨å®åä¸ä¸ªæä½ç³»ç»çè¯ï¼è¿æ¯é常ç¦äººçãä½ ä»¬æ¯æä¹çè¿ä¸é®é¢çï¼
28. æ没ææ¹æ³è½å¤é¿å ç´é¢åå¾åæ¶å¨ï¼æ¯å¦ç¨ä¸äºå¤§å®¹éç¼åï¼æ们å¯ä»¥ææ°æ®æè¿å»ã
29. æåä¸ä¸ªé®é¢ï¼Goæ¯ç³»ç»çº§è¯è¨è¿æ¯åºç¨çº§è¯è¨ï¼
ð èµæå
ð 书ç±
å ¥é¨
ãGoè¯è¨è¶£å¦æåã
ãGoè¯è¨ä»å ¥é¨å°è¿é¶å®æã
ãGoè¯è¨å ¥é¨ç»å ¸ã:hdcy
ãGoè¯è¨ç¼ç¨å ¥é¨ä¸å®ææå·§ã:sgro
è¿é¶
ãGoè¯è¨ç¨åºè®¾è®¡ã:flnj
ãGoè¯è¨æ ¸å¿ç¼ç¨ã:v9fl
ãGoè¯è¨é«å¹¶åä¸å¾®æå¡å®æã
ãGo并åç¼ç¨å®æã第2çï¼lsn0
ãGoè¯è¨å¹¶åä¹éã:6ppw
ð æç«
å½çº¢å¼åè¯è¨Goï¼ççæ¯æªæ¥çææ¯ä¸»æµåï¼
Goè¯è¨ä¹goroutineåç¨è¯¦è§£
Golangä¹sync.Poolå¯¹è±¡æ± å¯¹è±¡éç¨æºå¶æ»ç»
Goå ååé é£äºäºï¼å°±è¿ä¹ç®å
ä»æºç è§åº¦ç Golang çè°åº¦
ç¨goå®ç°å¸¸è§çæ°æ®ç»æ
Go ç¨åºæ¯ææ ·è·èµ·æ¥ç
goå å管çä¸ï¼ç³»ç»å å管ç
goå å管çäºï¼goå å管ç
ð½ è§é¢
title | Link |
---|---|
ãgolangäºåçã golangå®ç°è¡ç¨ç ãå¥åº·ç è¯å« | ç¹å»è§ç |
ãgolangäºåçã golang å®ç°pingç½ç»æ令 | ç¹å»è§ç |
ãgolangäºåçãgolang åå©å ¬æäºå®ç°ç¹æ转ç´æ | ç¹å»è§ç |
ãgolangäºåçãå¦ä½ä½¿ç¨ginæ¡æ¶æ建web项ç®èææ¶ | ç¹å»è§ç |
ãgolangäºåçã 为ä»ä¹jwtä¼è¢«å¹¿æ³åºç¨ | ç¹å»è§ç |
ãgolangäºåçã golangå®ç°ç产è æ¶è´¹è æ¨¡å¼ | ç¹å»è§ç |
ãgolangäºåçã goè¯è¨UDPç½ç»ç¼ç¨ä¹åéDNSè¯·æ± | ç¹å»è§ç |
ãgolangäºåçã goè¯è¨å¿«éå®ç°ä¸ä¸ªwebäºå¨ç´æï¼ä¸ï¼ | ç¹å»è§ç |
ãgolangäºåçãgoè¯è¨å¿«éå®ç°ä¸ä¸ªwebäºå¨ç´æï¼äºï¼ | ç¹å»è§ç |
ãgolangäºåçãgolangå®ç°æ件ä¸ä¼ å°å¯¹è±¡åå¨ | ç¹å»è§ç |
ãgolangäºåçã论ä¸æ¬¾å¼ºå¤§çéªè¯ç»ä»¶å¨webå¼åä¸çéè¦æ§ | ç¹å»è§ç |
ãgolangäºåçãgolangé åå ¬æäºå®ç°æºå¨äººæµéçæ¦æª | ç¹å»è§ç |
ãgolangäºåçãgolangé¢è¯é¢å®ç°ä¸ä¸ªå åç¼åç³»ç» | ç¹å»è§ç |
ãgolangäºåçãæå欢è¿çå¼æºæ¥å¿æ¡æ¶logruså®æåºç¨ | ç¹å»è§ç |
ãgolangäºåçãåºäºå ¬æäºå¿«éå®ç°é®ä»¶æ¨é | ç¹å»è§ç |
ð å¼æºé¡¹ç®ï¼æ®µä½çº¯å±å类管çï¼ä¸åå åï¼
çè 段ä½
é¡¹ç® | ç®ä» |
---|---|
docker | æ 人ä¸ç¥çèæåå¹³å°ï¼å¼æºçåºç¨å®¹å¨å¼æï¼åå©è¯¥å¼æï¼å¼åè å¯ä»¥æå ä»ä»¬çåºç¨ï¼ç§»æ¤å°ä»»ä½å¹³å°ä¸ã |
golang | goæ¬èº«ï¼ä¹æ¯ç¨goè¯è¨å®ç°çï¼å æ¬ä»çç¼è¯å¨ï¼è¦ç 究goæºä»£ç çå¯ä»¥çæ¤é¡¹ç®å½ |
kubernetes | Googleåºåï¼ç¨äºè°åº¦å管çdockerçå¼æºå®¹å¨ç®¡çç³»ç»ï¼å©ç¨ä»ï¼å¯ä»¥æ¹ä¾¿ç管çä½ çdockerå®ä¾ï¼åªæé常å¤ï¼ä¹æ¯ç®åææµè¡çdocker管çç³»ç»ã |
gogs | ä¸æ¬¾åºäºgitç代ç æ管系ç»ï¼ç±»ä¼¼äºgithubågitlabï¼ä¸è¿å ¶å°å·§æç¨ï¼åè½å¼ºå¤§ï¼é¨ç½²æ¹ä¾¿ï¼ä¹æä¸å°ç¨æ·å¨ä½¿ç¨ã |
syncthing | å¼æºçæ件åæ¥ç³»ç»ï¼å®ä½¿ç¨äºå ¶ç¬æç对çèªç±å交æ¢åè®®ï¼é度å¾å¿«ï¼æ®è¯´å¯ä»¥æ¿æ¢BitTorrent Syncã |
grafana | ä¸æ¬¾å¼æºçæ§åº¦éççæ¿ç³»ç»ï¼å¯ä»¥æ¥GraphiteãElasticsearchãInfluxDBçæ°æ®æºï¼å®å¶åå¾é«ã |
etcd | ä¸æ¬¾åå¸å¼çï¼å¯é çK-Våå¨ç³»ç»ï¼ä½¿ç¨ç®åï¼é度快ï¼åå®å ¨ã |
hub | ä¸æ¬¾æ´ä¾¿æ·ä½¿ç¨githubçå·¥å ·ï¼å è£ å¹¶ä¸æ©å±äºgitï¼æä¾äºå¾å¤ç¹æ§ååè½ï¼ä½¿ç¨ågitå·®ä¸å¤ã |
influxdb | å¯ä¼¸ç¼©çæ°æ®åºï¼ä½¿ç¨åºæ¯ä¸»è¦ç¨æ¥åå¨æµéæ°æ®ï¼äºä»¶ç¹å»ä»¥åå ¶ä»çå®æ¶åææ°æ®ï¼ç¨æ¥åçæ§æ§è½å¾ä¸éã |
caddy | å¿«éçï¼è·¨å¹³å°çHTTP/2 Webæå¡å¨ã |
beego | å½äº§å¼æºçé«æ§è½Webæ¡æ¶ï¼è®©ä½ å¿«éçå¼åGo Webåºç¨æå¡ï¼è°¢å¤§ä¸»ç¬ã |
martini | ä¹æ¯ä¸æ¬¾ä¸éçWebæ¡æ¶ã |
cayley | Googleå¼æºçå¾æ°æ®åºï¼è¿æ¯ä¸ä¸ªNoSqlæ°æ®åºï¼éåå¤çå¤æçï¼ä½æ¯ç»æåä½çæ°æ®ï¼éç¨äºç¤¾äº¤ç½ç»ï¼æ¨èç³»ç»çã |
nsq | ä¸æ¬¾å¼æºçå®æ¶çï¼åå¸å¼çæ¶æ¯ä¸é´ä»¶ç³»ç»ã |
codis | Codisæ¯ä¸ä¸ªåå¸å¼Redis解å³æ¹æ¡ï¼å ¶å®å°±æ¯ä¸ä¸ªæ°æ®åºä»£çï¼è®©ä½ å¨ä½¿ç¨Redisé群çæ¶åï¼å°±å使ç¨åæºççRedisæ¯ä¸æ ·çï¼å¯¹å¼åè éæã |
delve | è¿ä¸ªGoå¼åè é½ç¥éï¼ä¸æ¬¾goåºç¨å¼åçè°è¯å·¥å ·ã |
cobra | cobraæ¯ä¸ä¸ªå½ä»¤è¡goåºï¼å¯ä»¥è®©ä½ å建é常强大çï¼ç°ä»£çCLIå½ä»¤è¡åºç¨ã |
megaease/easegress | äºæ¬å°æµéç¼æç³»ç» |
大å¸æ®µä½
é¡¹ç® | ç®ä» |
---|---|
Viper | Viper æ¯ä¸ä¸ªå®æ´ç Go åºç¨é 置解å³æ¹æ¡ã |
echo | é«æ§è½ãæç®ä¸»ä¹ç Go Web æ¡æ¶ |
uber-go/fx | ä¸ä¸ªåºäºä¾èµæ³¨å ¥ç Go åºç¨æ¡æ¶ã |
Swagger | çæå¨ãUI åéªè¯ |
Logrus | Logrus æ¯ä¸ä¸ªéç¨äº Go(golang) çç»æåè®°å½å¨ï¼ä¸æ ååºè®°å½å¨å®å ¨ API å ¼å®¹ã |
mockery | Golang ç模æ代ç èªå¨çæå¨ |
migrate | ç¨ Go ç¼åçæ°æ®åºè¿ç§»ãä½ä¸º CLI 使ç¨æä½ä¸ºåºå¯¼å ¥ã |
NSQ | æ¶æ¯ä¼ é |
sqlx | sqlx æ¯ä¸ä¸ªåºï¼å®å¨ Go çæ å database/sql åºä¸æä¾äºä¸ç»æ©å±ã |
Macaron | ä¸æ¬¾å ·æé«ç产åå模åå设计ç Go Web æ¡æ¶ |
Gin | è½»é Web æ¡æ¶ |
zinx | TCP并åæå¡å¨æ¡æ¶ |
Negroni | Web ä¸é´ä»¶ |
csrf | CSRF ä¸é´ä»¶ |
handlers | Goçnet/httpå çæç¨å¤çç¨åºéå |
SizedWaitGroup | 并åæ§å¶ |
concurrent | 并åå·¥å ·å |
grab | æ件ä¸è½½ |
go-netty | ç½ç»æ¡æ¶ |
é»ç³æ®µä½
é¡¹ç® | ç®ä» |
---|---|
gorilla/websocket | Goçä¸ä¸ªå¿«éãç»è¿è¯å¥½æµè¯å广æ³ä½¿ç¨çWebSocketå®ç°ã |
nhooyr/websocket | 常ç¨çGo WebSocketåº |
websocketd | Go å¼åçä¸é®æ建 WebSocket æå¡å¨å½ä»¤è¡å·¥å · |
ws | WebSocket å¼åå |
melody | WebSocket æå¡æ¡æ¶ |
neffos | ä¸ä¸ªç°ä»£çãå¿«éçãå¯æ©å±çwebsocketæ¡æ¶ï¼å¸¦æä¼é çGo API |
fastws | fastttpånet/httpçå¿«éWebSocketå®ç°ãé»è®¤æ¯æ并å读åæä½ã |
Centrifugo | å®æ¶æ¶æ¯æå¡å¨ï¼å¯ä»¥ä¸ä»»ä½è¯è¨ç¼åçåºç¨ç¨åºå端ç»åä½¿ç¨ |
goim | æ¯æé群ç im åå®æ¶æ¨éæå¡ |
Tinode | å³æ¶æ¶æ¯æå¡å¨ï¼éè¿ websocket/JSON æ gRPC/TCP çåè®®ä¼ è¾ |
WebRTC | WebRTC å®ç° |
Berty | å®å ¨çç¹å¯¹ç¹é讯软件 |
Keybase | å³æ¶éè®¯å·¥å · Keybase å ¨å¹³å°å®¢æ·ç«¯ |
golang/protobuf | Go çæ¬ç Protocol Buffers |
gogo/protobuf | golang/protobuf çæ©å±æ¿ä»£å |
Objx | æä½ mapãsliceãJSON çæ°æ®çå |
gorilla/rpc | æ建åºäº HTTP ç RPC æå¡ï¼æ¯å¦ JSON-RPC |
Twirp | åºäº Protobuf ç RPC æ¡æ¶ï¼ä¸ gRPC 类似 |
éé段ä½
é¡¹ç® | ç®ä» |
---|---|
dubbo-go | Apache Dubbo Go è¯è¨å®ç°ï¼æ¶èµ· Java å Golang ä¹é´çæ¡¥æ¢ï¼ä¸ gRPC/Spring Cloud çæäºèäºéï¼å¸¦é¢ Java çæ享åäºåçæ¶ä»£çææ¯çº¢å© |
NSQ | å®æ¶åå¸å¼æ¶æ¯å¹³å° |
NATS | äºåçæ¶æ¯ä¸é´ä»¶ |
sarama | Kafka 客æ·ç«¯ |
InfluxDB | æ¶é´åºåæ°æ®åº |
Thanos | æ¯æ Prometheus ç®åé¨ç½²ãé«å¯ç¨ãåå¸å¼åå¨ |
CockroachDB | åå¸å¼ SQL æ°æ®åº |
RadonDB | åºäº MySQL ç åçæ°ä¸ä»£åå¸å¼å ³ç³»åæ°æ®åº |
TiDB | åå¸å¼å ³ç³»åæ°æ®åºï¼å ¼å®¹ MySQL åè®® |
AresDB | Uber å¼æºç GPU 驱å¨çå®æ¶åæåå¨&æ¥è¯¢å¼æ |
leveldb | LevelDB ç Go å®ç° |
GCache | golangçå åç¼ååºãæ¯æå¤ç§é©±éæ¿ç:LRUãLFUãARC |
go-cache | Goçå åé®:å¼åå¨/ç¼å(类似äºMemcached)åºï¼éç¨äºåæºåºç¨ç¨åºã |
groupcache | åå¸å¼ç¼å |
cachego | æ¯æ RedisãBolt çç¼åæ¥å£ |
go-tagexpr | åèè·³å¨å¼æºçç»æä½æ ç¾è¡¨è¾¾å¼è§£éå¨ |
goav | FFmpeg è§é¢å¤ç |
rosedb | åºäº bitcask ç k-v åå¨æ¨¡åï¼é«æãå¿«éãç®æ´ |
ð¼ 大åå®æå享ppt
- Go in TiDB
- Go å¦ä½å©åä¼ä¸è¿è¡å¾®æå¡è½¬å
- Golang å å管çæ¢å¾®&mdash&mdashï¼å¦ä½é«æä½¿ç¨ Golang å å以åè ¾è®¯äºå®æ-æ¨æ
- Golang主å¨å¼å åç¼åçä¼åæ¢ç´¢ä¹è·¯
- Golangå¨ç¾ä¸äº¿æç´¢å¼æä¸çåºç¨
- Golangå¨é¿éå·´å·´è°åº¦ç³»ç»Sigmaä¸çå®è·µ
- Goå¨å¤§æ°æ®å¼åä¸çç»éªæ»ç»
- Goå¨æ¢æ¢å端çå·¥ç¨å®è·µ
- Goå¨è¯å¸è¡æ ç³»ç»ä¸çåºç¨
- Goå¾®æå¡å®æ
- Goæé 亿级å®æ¶åå¸å¼å¹³å°
- Goè¯è¨å¨è®¯èæ«ç æ¯ä»ç³»ç»ä¸çæåå®è·µ
- Goè¯è¨å¨è¯å¸æè´§è¡æ ç³»ç»ä¸çå®è·µ
- Goè¯è¨çæ¢å å¼è°åº¦
- Improving Go Backend Developer Experience in Grab
- Processing XML and Spreadsheet Data in Go
- The Zen of Go
- Tracing in TiDB
- goplus-gopher-china
- äºåçææ¯å¨2B交ä»ä¸çå®è·µ
- å©ç¨å¤èºæ©å±è½åæé å ¨æ¹ä½çæ§ç³»ç»
- åºäº Golang æ建é«å¯æ©å±çäºåç PaaS å¹³å°
- åºäºKubernetesçç§æäºå®æ
- 大è§æ¨¡åºæ¯ä¸Kubernetes Serviceè´è½½åè¡¡æ§è½ä¼å
- 天ç«DevOps转åå®è·µ
- å¦ä½ç¨Go模æCPU
- åèè·³å¨å¨ Go ç½ç»åºä¸çå®è·µ
- æ·±å ¥Go Module
- æ·±å ¥ç解BFE
- ç½è¾æç»´Goè¯è¨å¾®æå¡æ¹é å®è·µ
- è°å¦ä½æ建æäºæåçåä½åºç¨
- è·¨å¢çµåçGoæå¡æ²»çå®è·µ
- é¿éå·´å·´æ°ä¸ä»£åºäº Go çäºåçåºç¨å¼æå®è·µ
ð 论æä¸ç论åæ
Title | Translationï¼åèï¼ | Company |
---|---|---|
ãAcme: A User Interface for Programmersã | ç¨åºåçç¨æ·çé¢ | AT&T,è´å°å®éªå®¤ |
ãUnderstanding Real-World Concurrency Bugs in Goã | äºè§£çå®goä¸ç并åbug | 宾å¤æ³å°¼äºå·ç«å¤§å¦ |
ãA Formal Model of the Kubernetes Container Frameworkã | Kubernetes容å¨æ¡æ¶çå½¢å¼å模å | 奥æ¯éå¤§å¦ |
ãRunning Cloud Native Applications on DigitalOcean Kubernetesã | å¨DigitalOcean Kubernetesä¸è¿è¡äºæ¬å°åºç¨ | æªç¥ |
ãKubernetes as an Availability Manager for Microservice Applicationsã | Kubernetesä½ä¸ºå¾®æå¡åºç¨ç¨åºçå¯ç¨æ§ç®¡çå¨ | 康ç§è¿ªäºå¤§å¦ |
ãBorg, Omega, and Kubernetesã | BorgãOmega å Kubernetes | |
ãA Raft-based HTAP Databaseã | åºäºraftçHTAPæ°æ®åº | VLDBåºéä¼è®ºæé |
ãFor Reproducible Environments and Containerized Applicationsã | ç¨äºå¯å¤å¶ç¯å¢å容å¨ååºç¨ç¨åº | å£å å³å¾·å·ç«å¤§å¦ |
ãEscape from Escape Analysis of Golangã | golangé离åæ | æ¸ åå¤§å¦ |
ãUsing gRPC with Goã | å¨Goä¸ä½¿ç¨gRPC | æªç¥ |
â äºåç
è¿éæ们讲äºåçï¼ä¸»è¦ç®çæ¯ä¸ºäºå¤§å®¶å¦ä½å©ç¨äºåçææ¯ï¼å¿«éå°ä½¿ç¨goè¯è¨å¼åãèä¸æ¯ç 究äºåçæ¬èº«çææ¯ã
æä»¬ä»¥è ¾è®¯äºä¸ºä¾ï¼åä¸¾è ¾è®¯äºä¸ºæ们æä¾çäºåçæ¥å£é¡¹ç®ï¼ï¼å举é¨åæ们常è§çï¼
- å®æ¶é³è§é¢
- æ··æµè½¬ç
- æ¿é´ç®¡ç
- å ¶ä»æ¥å£
- éè¯è´¨éçæ§
- äºç¹æ
- è§é¢å¤ç
- åæ°æ¨¡æ¿
- å ¶ä»æ¥å£
- ä»»å¡æµ
- åå
- åªèµç®¡ç
- è§é¢ä¸ä¼
- äºä»¶éç¥
- AI æ ·æ¬ç®¡ç
- è§é¢åç±»
- ä»»å¡ç®¡ç
- åå管ç
- æ°æ®ç»è®¡
- è§é¢å¤ç
- è§é¢å¤ç
- å·¥ä½æµç®¡ç
- å ¶ä»æ¥å£
- 解æäºä»¶éç¥
- AI æ ·æ¬ç®¡ç
- åæ°æ¨¡æ¿
- ä»»å¡ç®¡ç
- è
¾è®¯äºåª
- å¹³å°ç®¡ç
- 项ç®ç®¡ç
- SaaS å¹³å°ç®¡ç
- Headlessåªä½åæ
- ä»»å¡ç®¡ç
- è§é¢ç¼è¾é¡¹ç®
- åªä½èµæºç®¡ç
- åªèµææ
- å¢é管ç
- å类管ç
- ç»å½æ管ç
- å ¶ä»æ¥å£
- æºè½ç¼è¾
- ç»è´¨éçä»»å¡
- åªä½è´¨æ£ä»»å¡
- ç¼è¾ç解
- ç¼è¾å¤ç
- å³æ¶éä¿¡ IM
- è·åäºéä¿¡ IM ç SDKAppid
- çä¿¡
- çä¿¡ç»è®¡
- åéçä¿¡
- æåç¶æ
- ç信模æ¿
- çä¿¡ç¾å
- åå¸å¼æ¶æ¯éå
- é群
- å½å空é´
- 主é¢
- æ¶æ¯
- CMQ管ç
- CMQæ¶æ¯
- å ¶ä»æ¥å£
- ç产æ¶è´¹
- æ¶æ¯éå Ckafka
- 主é¢
- ACL
- å®ä¾
- è·¯ç±
- å ¶ä»æ¥å£
- éªè¯ç
- æ§å¶å°
- æå¡å¨
- ææ¬å 容å®å ¨
- å¾çå
容æ£æµ
- å¾çå å®¹å®¡æ ¸
- å¾çå 容æ£æµ
- é³é¢å
容æ£æµ
- å建é³é¢å®¡æ ¸ä»»å¡
- æ¥çä»»å¡è¯¦æ
- æ¥çå®¡æ ¸ä»»å¡å表
- çé³é¢è¯å«æ¥å£
- åæ¶ä»»å¡
- è§é¢å
容å®å
¨
- æ¥çå®¡æ ¸ä»»å¡å表
- æ¥çä»»å¡è¯¦æ
- å建è§é¢å®¡æ ¸ä»»å¡
- åæ¶ä»»å¡
- æåè¯å«
- éç¨æåè¯å«
- å¡è¯æåè¯å«
- 票æ®åæ®è¯å«
- 汽车åºæ¯è¯å«
- è¡ä¸ææ¡£è¯å«
- æºè½æ«ç
- è¥ä¸æ§ç §æ ¸éª
- å¢å¼ç¨åç¥¨æ ¸éª
- å¾ååæ
- å¾åç解
- å¾åå¤ç
- å¾åå®¡æ ¸
- å¾åè´¨éæ£æµ
- æºè½è¯å¾
- ååè¯å«
- è¯é³è¯å«
- è¯é³æµå¼æ¥è¯å«
- å½é³æ件è¯å«
- ä¸å¥è¯è¯å«
- èªå¦ä¹
- çè¯
- è¯é³åæ
- é¿ææ¬è¯é³åæ
- éç¨è¯é³åæ
- æºè½è¯é³æå¡
- è¯é³åæ
- å ¶ä»æ¥å£
- è¯é³è¯å«
- äºç´æ
- æ°´å°ç®¡ç
- è¯ä¹¦ç®¡ç
- å½å¶ç®¡ç
- ç´ææµç®¡ç
- 延æ管ç
- ç´æææµ
- ç´æ转ç
- æªå¾é´é»
- é´æ管ç
- åå管ç
- ç´æåè°
- ç»è®¡æ¥è¯¢
- å®æ¶æ¥å¿
- ç´ææ··æµ
- å°ç¨åº · äºç´æ
- live
- å ¶ä»æ¥å£
- ç´æ
- 人è¸è¯å«
- 人è¸æ£æµä¸åæ
- äºå®å®ä½
- 人è¸æ¯å¯¹
- 人ååºç®¡ç
- 人è¸æç´¢
- 人è¸éªè¯
- 人è¸éææ´»ä½æ£æµï¼é«ç²¾åº¦çï¼
- 人è¸éææ´»ä½æ£æµ
- 人åæ¥é
- å
容å®å
¨
- å 容å®å ¨
- å¾çå 容å®å ¨
- ææ¬å 容å®å ¨
- èªå®ä¹è¯å«
- èªç¶è¯è¨å¤ç
- åéææ¯
- è¯æ³åæ
- å¥æ³åæ
- ç¯ç« åæ
- ç¥è¯å¾è°±
- 对è¯æºå¨äºº
......
ð¥ æºç ä¸è½½
Goå®ç½ä¸è½½å°åï¼https://golang.org/dl/
Goå®æ¹éåç«ï¼æ¨èï¼ï¼https://golang.google.cn/dl/
ðââ å¼å¯Goè¯è¨å¦ä¹ ä¹æ ï¼ä»"Hello World"å¼å§ï¼
Step 1ï¼äºè§£æºä»£ç ç®å½ç»æ
æ件å | æ件å±æ§ |
---|---|
AUTHORS | æ件ï¼å®æ¹ Goè¯è¨ä½è å表 |
CONTRIBUTORS | æ件ï¼ç¬¬ä¸æ¹è´¡ç®è å表 |
LICENSE | æ件ï¼Goè¯è¨åå¸ææåè®® |
PATENTS | æ件ï¼ä¸å© |
README | æ件ï¼READMEæ件ï¼å¤§å®¶æçãæä¸ä¸ï¼ç»å¸¸æ人说ï¼Goå®ç½æä¸å¼åï¼æä¹åï¼å ¶å®ï¼å¨READMEä¸è¯´å°äºè¿ä¸ªã该æ件è¿æå°ï¼å¦æéè¿äºè¿å¶å®è£ ï¼éè¦è®¾ç½®GOROOTç¯å¢åéï¼å¦æä½ å°Goæ¾å¨äº/usr/local/goä¸ï¼åå¯ä»¥ä¸è®¾ç½®è¯¥ç¯å¢åéï¼Windowsä¸æ¯C:\goï¼ãå½ç¶ï¼å»ºè®®ä¸ç®¡ä»ä¹æ¶åé½è®¾ç½®GOROOTãå¦å¤ï¼ç¡®ä¿$GOROOT/binå¨PATHç®å½ä¸ã |
VERSION | æ件ï¼å½åGoçæ¬ |
api | ç®å½ï¼å å«ææAPIå表ï¼æ¹ä¾¿IDEä½¿ç¨ |
doc | ç®å½ï¼Goè¯è¨çåç§ææ¡£ï¼å®ç½ä¸æçï¼è¿éåºæ¬ä¼æï¼è¿ä¹å°±æ¯ä¸ºä»ä¹è¯´å¯ä»¥æ¬å°æ建âå®ç½âãè¿éé¢æä¸å°å ¶ä»èµæºï¼æ¯å¦gopherå¾æ ä¹ç±»çã |
favicon.ico | æ件ï¼å®ç½logo |
include | ç®å½ï¼Go åºæ¬å·¥å ·ä¾èµçåºç头æ件 |
lib | ç®å½ï¼ææ¡£æ¨¡æ¿ |
misc | ç®å½ï¼å ¶ä»çä¸äºå·¥å ·ï¼ç¸å½äºå¤§æç©ï¼å¤§é¨åæ¯åç§ç¼è¾å¨çGoè¯è¨æ¯æï¼è¿æcgoçä¾åç |
robots.txt | æ件ï¼æç´¢å¼ærobotsæ件 |
src | ç®å½ï¼Goè¯è¨æºç ï¼åºæ¬å·¥å ·ï¼ç¼è¯å¨çï¼ãæ ååº |
test | ç®å½ï¼å å«å¾å¤æµè¯ç¨åºï¼å¹¶é_test.goæ¹å¼çåå æµè¯ï¼èæ¯å å«mainå çæµè¯ï¼ï¼å æ¬ä¸äºfixbugæµè¯ãå¯ä»¥éè¿è¿ä¸ªå¦å°ä¸äºç¹æ§ç使ç¨ã |
Step 2ï¼Golangå¼ååå°ææ¡åªäºç¥è¯ç¹ï¼
è¿éæç»å¤§å®¶æ´çå½çº³ä¸ºå大åï¼åå«æ¯è¯æ³ãä¸é´ä»¶ãå端å¼åãäºåçã
æ们éè¿è¿ä¸ªå个æ¿åçå¦ä¹ ï¼éæ¥è¿é¶æä¸ä¸ªå¯ä»¥ä»äºå端æå¡å¨å¼åçå·¥ç¨å¸ã
ä¸é¢æ们ç®åä»ç»ä¸é´ä»¶åäºåçï¼
ä¸é´ä»¶
MySQLãRedisãMongoDBãKafkaè¿äºå¸¸è§çä¸é´ä»¶ï¼è¿éæ们ä¸åèµè¿°ãæ们çéç®è¿°ä¸GinãetcdãElasticSearchãgRPCã
-
Gin
Ginæ¯ä¸ä¸ªç¨Go (Golang)ç¼åçHTTP webæ¡æ¶ãå®å ·æä¸ä¸ªç±»ä¼¼martiniiçAPIï¼æ§è½è¦å¥½å¾å¤ââå¿«äº40åã
å®æ¹Github项ç®ï¼https://github.com/gin-gonic/gin -
etcd
Etcdæ¯ä¸ç§å¼ºä¸è´æ§çåå¸å¼é®å¼åå¨ï¼å®æä¾äºä¸ç§å¯é çæ¹æ³æ¥åå¨éè¦è¢«åå¸å¼ç³»ç»ææºå¨é群访é®çæ°æ®ãå®å¯ä»¥å¨ç½ç»ååºæé´ä¼é å°å¤çleaderé举ï¼å¹¶ä¸å¯ä»¥å®¹å¿æºå¨æ éï¼å³ä½¿æ¯leaderèç¹ã
å®ç½ï¼https://etcd.io/ -
ElasticSearch
Elasticsearch æ¯ä¸ä¸ªåå¸å¼ãRESTful é£æ ¼çæç´¢åæ°æ®åæå¼æï¼è½å¤è§£å³ä¸ææ¶ç°åºçåç§ç¨ä¾ã ä½ä¸º Elastic Stack çæ ¸å¿ï¼å®éä¸åå¨æ¨çæ°æ®ï¼å¸®å©æ¨åç°ææä¹ä¸ä»¥åææä¹å¤çæ åµã
å®ç½ï¼https://www.elastic.co/cn/elasticsearch/ -
gRPC
gRPCæ¯ä¸ä¸ªç°ä»£çå¼æºé«æ§è½è¿ç¨è¿ç¨è°ç¨(Remote Procedure Call, RPC)æ¡æ¶ï¼å¯ä»¥å¨ä»»ä½ç¯å¢ä¸è¿è¡ãéè¿å¯¹è´è½½å¹³è¡¡ãè·è¸ªãè¿è¡ç¶åµæ£æ¥å身份éªè¯çå¯æææ¯æï¼å®å¯ä»¥ææå°è¿æ¥æ°æ®ä¸å¿å åè·¨æ°æ®ä¸å¿çæå¡ãå®ä¹éç¨äºåå¸å¼è®¡ç®çæåä¸è±éï¼å°è®¾å¤ã移å¨åºç¨ç¨åºåæµè§å¨è¿æ¥å°å端æå¡ã
å®ç½ï¼https://grpc.io/
äºåç
-
å¾®æå¡
å¾®æå¡æ¯ä¸ç§è½¯ä»¶æ¶æé£æ ¼ï¼å®æ¯ä»¥ä¸æ³¨äºåä¸è´£ä»»ä¸åè½çå°ååè½åºå为åºç¡ï¼å©ç¨æ¨¡ååçæ¹å¼ç»ååºå¤æç大ååºç¨ç¨åºï¼ååè½åºå使ç¨ä¸è¯è¨æ å ³çAPIéç¸äºéä¿¡ã -
DevOps
DevOpsæ¯ä¸ç§éè§â软件å¼å人åâåâITè¿ç»´ææ¯äººåâä¹é´æ²éåä½çæåãè¿å¨ææ¯ä¾ãéè¿èªå¨åâ软件交ä»âåâæ¶æåæ´âçæµç¨ï¼æ¥ä½¿å¾æ建ãæµè¯ãåå¸è½¯ä»¶è½å¤æ´å å°å¿«æ·ãé¢ç¹åå¯é ã -
æç»é¨ç½²
æç»é¨ç½²ï¼æ¯ä¸ç§è½¯ä»¶å·¥ç¨æ¹æ³ï¼ææå¨è½¯ä»¶å¼åæµç¨ä¸ï¼ä»¥èªå¨åæ¹å¼ï¼é¢ç¹èä¸æç»æ§çï¼å°è½¯ä»¶é¨ç½²å°ç产ç¯å¢ä¸ï¼ä½¿è½¯ä»¶äº§åè½å¤å¿«éçåå±ã æç»é¨ç½²å¯ä»¥æ´åå°æç»æ´åä¸æç»äº¤ä»ï¼Continuous deliveryï¼çæµç¨ä¹ä¸ã -
容å¨å
容å¨åæ¯è½¯ä»¶å¼åçä¸ç§æ¹æ³ï¼éè¿è¯¥æ¹æ³å¯å°åºç¨ç¨åºææå¡ãå ¶ä¾èµé¡¹åå ¶é ç½®ï¼æ½è±¡å为é¨ç½²æ¸ åæ件ï¼ä¸èµ·æå 为容å¨æ åã 容å¨ååºç¨ç¨åºå¯ä»¥ä½ä¸ºä¸ä¸ªåå è¿è¡æµè¯ï¼å¹¶å¯ä»¥ä½ä¸ºå®¹å¨æ åå®ä¾é¨ç½²å°ä¸»æºæä½ç³»ç» (OS)ã
Step 3ï¼å¦ä½é«æå°å¦ä¹ Goï¼
æ³è¦é«æå°çå¦ä¹ Golangï¼ååç¥éå¦ä¹ åªå 个æ¿åï¼æ¯è¿è¿ä¸å¤çãæ们è¿éè¦å°æ¯ä¸ªæ¿åçç¥è¯ç¹è¿ä¸æ¥ç»åã
ââæåä¸å¤±è´¥ä¹é´ï¼æéè¦çæ¯ä¸å®¹å¿½è§çç»è
é£ä¹å¼å§è¿ä¸æ¥å®åä¹åçç¥è¯ç¹ï¼
è¯æ³
- è¯æ³åºç¡
- é误å¤ç
- å å®ä¹ä»¥åå¯¼å ¥
- ç»æä½
- åå°åç
- å¼ä¼ éãå¼ç¨ä¼ éãdeferå½æ°
- 并åç¼ç¨
- goroutine
- é
- ééchannel
- runtimeå
- Context使ç¨åå
- ç½ç»ç¼ç¨
- tcp/udpç¼ç¨
- httpå®ç°
- websocket
- æºç ææ¡
- GCæºå¶
- è°åº¦å¨
- å®æ¶å¨
- mapä¸åç
- 第ä¸æ¹æµè¯æ¡æ¶
- goconvey
- gostub
- gomock
- monkey
ä¸é´ä»¶
- MySQL
- golangçCRUD
- jmorion/sqlxå
- è¿æ¥æ±
- å¼æ¥mysql
- Gin
- RESTful API
- URLæ¥è¯¢åæ°
- queryæ¥æ¶æ°ç»åMap
- 表ååæ°
- ä¸ä¼ æ件
- åç»è·¯ç±routel以åä¸é´ä»¶ææ
- jsonãstructãxmlãyamlãprotobuf渲æ
- Redis
- go-redis
- get/set/zsetæä½
- è¿æ¥æ±
- åå¸å¼é
- MongoDB
- MongoDB-driver
- BSON解æ
- CRUDæä½
- æ档管ç
- è¿æ¥æ±
- Kafka
- saramå
- åæ¥ãå¼æ¥
- zstdå缩ç®æ³
- 横åæ©å±
- goå®ç°ç产æ¶è´¹è
- topicåpartition
- æ¶æ¯ååçç¥
- ååºå¯æ¬æºå¶
- etcd
- åç
- åå¸å¼é
- etcdæä½
- æå¡åç°äºæ³¨å
- ElasticSearch
- esæå¡å¨
- go- elasticsearchå
- nodeäºcluster
- IndexäºDocument
- æ£æµä¸é ç½®
- gRPC
- protoc-gen-goå¼åå
- .protoæ件
- gRPC Service Stub
- rpcæ¥å£è®¾è®¡
- é信模å¼
- æ¦æªå¨
- å¤è·¯å¤ç¨
- è´è½½åè¡¡
- å®å ¨è®¤è¯
å端å¼å
- 游æå端
- leafæ¡æ¶
- ç½å ³ãåè®®ãæ¥å¿ãç½ç»æ¨¡å
- æµåªä½Webå端
- Restfulæ¥å£è®¾è®¡
- scheduler设计
- apidefsç»æä½
- mysql建åºå»ºè¡¨
- å°ç¨åºå端
- å ¬ä¼å·å¼åæµç¨
- 微信æ¶æ¯æ¥æ¶ä¸è§£æ
- å ¬ä¼å·éªè¯URL+Token
- å ç½ç¯å¢æ¥å£æµè¯
- å端ç¨åºæµè¯èæ¬
- goadminåå°æé管çç³»ç»
- RESTful API设计
- Ginæ¡æ¶
- JWT认è¯
- æ¯æSwaggerææ¡£
- GORMå¯¹è±¡å ³ç³»æ å°
- åºäºCasbinçRBAC访é®æ§å¶æ¨¡å
- goimåä¸çº§é«å¹¶åæ¨éæå¡
- å个ãå¤ä¸ªã广ææ¶æ¯æ¨é
- åºç¨å¿è·³ãtcpãkeepaliveãhttp log pulling
- å¼æ¥æ¶æ¯æ¨é
- æ¥å ¥å±å¤åè®®
- å¯æææ¶æ
- 注ååç°æå¡
- æ¶æ¯åè®®ï¼protobufï¼
- goimæ¨é
- grpcç¼ç¨
- è
¾è®¯äºå¤§æ°æ®
- TBDS
- äºæ°æ®ä»åºPostgreSQL
- å¼¹æ§MapReduce
- WeDataæ°æ®å¼åå¹³å°
äºåç
- å¾®æå¡
- go-microåç
- rpc
- æå¡é´åæ¥
- json/protobuf
- DevOps
- 项ç®ç®¡ç CODING-PM
- æµè¯ç®¡ç CODING-TM
- å¶ååº CODING-AR
- 代ç æ管 CODING-CR
- æç»é¨ç½²
- spinnake
- webhookå¤é¨å¯¹æ¥
- è绿åå¸/éä¸éåå¸
- SCFäºå½æ°
- å¿«éåæ»
- 容å¨å
- Dockeråé¨ç½²
- k8sé群
- CVMäºæå¡å¨
- TKE容å¨æå¡
ð¤ 鸣谢
æ¬repoå±å¿ä½ä¸ºå ¨ç½golangèµææå ¨çrepoï¼å æ¤é常æè°¢åä½è´¡ç®patchçæåï¼ è¿æå¾å¤å¨issueéé¢åºè°åççæåï¼ä¸ºæ¤è¡·å¿æè°¢ã
é¶é¢å·¥ä½
å®æ¶æä¾ï¼æ¯å¨åå¸å京ï¼ä¸æµ·ï¼å¹¿å·ï¼æ·±å³ï¼æå·ï¼å京ï¼åè¥ï¼æ¦æ±ï¼é¿æ²ï¼éåºï¼æé½ï¼è¥¿å®ï¼å¦é¨çc/c++ï¼golangæ¹åçæèå²ä½ä¿¡æ¯ã æ ¡æï¼ç¤¾æï¼å®ä¹ å²ä½é½æçã é¢ç»ï¼å «è¡ï¼ç®åé½æç
Top Related Projects
The Go programming language
A curated list of awesome Go frameworks, libraries and software
Curated list of project-based tutorials
Learn Go with test-driven development
❤️ 1000+ Hand-Crafted Go Examples, Exercises, and Quizzes. 🚀 Learn Go by fixing 1000+ tiny programs.
Training for Golang (go language)
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot