- golang-news: Golang technology news newsletter (opens in a new tab)
- Go Koans (opens in a new tab)
- Creating a Go development environment on OSX (opens in a new tab)
- Install Go language (opens in a new tab)
- 02. Building a Go development environment Linux edition (opens in a new tab)
- Go environment settings (with go1.15.7) :: Outsider's Dev Story (opens in a new tab)
- Hello, Go! - First encounter with GoLang (opens in a new tab)
- Go language first impressions (opens in a new tab)
- Hello Go (opens in a new tab)
- Why should you learn Go? (opens in a new tab)
- The Doors Go Has Opened (opens in a new tab)
- Here are some amazing advantages of Go that you don’t hear much about (opens in a new tab)
- GDG Korea Golang (opens in a new tab)
- github.com/golang-kr/golang-doc/wiki (opens in a new tab)
- tour.golang.org (opens in a new tab)
- play.golang.org (opens in a new tab)
- Go.dev: a new hub for Go developers (opens in a new tab)
- Resources to learn Go(lang) (opens in a new tab)
- go-search.org (opens in a new tab)
- “Learn the four popular programming languages these days” (opens in a new tab)
- Learning Go — from zero to hero (opens in a new tab)
- Why they chose Go over Java and Python (opens in a new tab)
- Go: 90% Perfect, 100% of the time (opens in a new tab)
- Golang custom transports and timeouts (opens in a new tab)
- Go Challenge
- GopherCon 2015 (opens in a new tab)
- GopherCon 2017 (opens in a new tab)
- GopherCon UK 2018 (opens in a new tab)
- Day1 GopherCon Korea 2023 - YouTube (opens in a new tab)
- Learn How To Code: Google's Go (golang) Programming Language (opens in a new tab)
- Looking for security trouble spots in Go code (opens in a new tab)
- Probabilistic data structures for processing continuous, unbounded streams (opens in a new tab)
- Using Go's interfaces at Clever - more than just easy collaboration (opens in a new tab)
- Interfaces Example in Go. If it walks like a duck and it quacks… | by Jerry An | Jan, 2022 | Medium (opens in a new tab)
- Golang Interfaces Tutorial with Examples for Developers (opens in a new tab)
- java vs. go performance (opens in a new tab)
- See the Java and Go performance test comparison article (opens in a new tab)
- Replacing Rails: Part 1 "Lets Go!" (opens in a new tab)
- Reproducible Builds (opens in a new tab)
- Consistent hashing, a guide & Go library (opens in a new tab)
- GO GET CONSIDERED HARMFUL (opens in a new tab)
- go get command-line-tool FAILED (opens in a new tab)
- 10 open source projects that prove the power of Google Go (opens in a new tab)
- Distributed Read-Write Mutex in Go (opens in a new tab)
- Mutex Examples in Go. Use Examples to Better Understand Mutex… | by Jerry An | Jan, 2022 | Level Up Coding (opens in a new tab)
- Using Go at The New York Times (opens in a new tab)
- Four Days of Go (opens in a new tab)
- Why Go for Decision Trees? (opens in a new tab)
- Go in Go (opens in a new tab)
- The State of Go (opens in a new tab)
- Go Is Unapologetically Flawed, Here’s Why We Use It (opens in a new tab)
- Developing in golang with Nix package manager (opens in a new tab)
- Five things that make Go fast (opens in a new tab)
- Why Go for Decision Trees? (opens in a new tab)
- A year with Go (opens in a new tab)
- Go: A Surprising Edge Case Concerning append and Slice Aliasing (opens in a new tab)
- Charity Majors — June 10th, 2015 How We Moved Our API From Ruby to Go and Saved Our Sanity (opens in a new tab)
- Why Did I Move From TypeScript To Go | Level Up Coding (opens in a new tab)
- Why Golang is doomed to succeed (opens in a new tab)
- Experiments with Ruby and Go (opens in a new tab)
- Ten Useful Techniques in Go (opens in a new tab)
- Blazingly fast Reed-Solomon Coding (opens in a new tab)
- Image processing with Go (opens in a new tab)
- The Golang UK Conference (opens in a new tab)
- TLS with Go (opens in a new tab)
- Golang: TLS version and Cipher suites (opens in a new tab)
- Setting Go variables from the outside (opens in a new tab)
- Golang variables everything you need to know | Mohamed Allam (opens in a new tab)
- Qihoo 360 and Go (opens in a new tab)
- Lexical Scanning in Go (opens in a new tab)
- Scope and Shadowing in Go (opens in a new tab)
- Shadow Variable in Golang | Shadow Variablel in Go | Dr Vipin Classes - YouTube (opens in a new tab)
- example - a concurrent prime sieve (opens in a new tab)
- Go 1.5's vendor/ experiment (opens in a new tab)
- Singleton Pattern in Go (opens in a new tab)
- Patterns in Go applications. Some patterns which are commonly used… | by Lam Tran | Medium (opens in a new tab)
- GopherCon 2017: Edward Muller - Go Anti-Patterns (opens in a new tab)
- Compile Time Code Weaving in Go (opens in a new tab)
- Writing iOS & Android Apps in Go (opens in a new tab)
- go universe visualization (opens in a new tab)
- Small introduction to tags in Go (opens in a new tab)
- Optimized gzip/zip packages, 30-50% faster (opens in a new tab)
- SSH tunneling in Golang (opens in a new tab)
- Quick and dirty annotations for Go stack traces (opens in a new tab)
- Building Resilient Services with Go – Tech Talk (opens in a new tab)
- DNS parser, meet Go fuzzer (opens in a new tab)
- Handling 1 Million Requests per Minute with Go (opens in a new tab)
- Performance without the event loop (opens in a new tab)
- Surprises in GopherJS Performance (opens in a new tab)
- Keysort: The Schwartzian Transform in Go (opens in a new tab)
- Cross compilation with Go 1.5 (opens in a new tab)
- Getting C-compatible structs in Go with and for cgo (opens in a new tab)
- Cross compiling CGO libraries from Mac to Linux (opens in a new tab)
- Profiling & Optimizing in Go (opens in a new tab)
- Cross Compiling Go Code in Weird Configurations for fun and (little) profit (opens in a new tab)
- Best practices for a new Go developer (opens in a new tab)
- Porting Flask to Go - Jinja2 to Pongo2 (opens in a new tab)
- time in go (opens in a new tab)
- From Python to Go: migrating our entire API (opens in a new tab)
- Python vs Go 비교 레퍼런스 (opens in a new tab)
- C vs Go vs pypy vs Python vs Javascript V8 (opens in a new tab)
- From Python to Go, and Back Again (opens in a new tab)
- 5 Reasons Why We switched from Python To Go (opens in a new tab)
- My journey from Python to Go (opens in a new tab)
- Moving from Python to Go (opens in a new tab)
- Go Go Python Rangers! Comparing Python and Golang (opens in a new tab)
- "고"할 것인가 "파이썬"할 것인가, 비교 선택 가이드 (opens in a new tab)
- See Python, See Python Go, Go Python Go (opens in a new tab)
- Nine reasons to switch from Python to Go (opens in a new tab)
- One in two Pythonistas should learn Golang now (opens in a new tab)
- Moving from JavaScript to Golang (opens in a new tab)
- 400 DAYS OF GO (opens in a new tab)
- Calling a Linear Solver C Library From Go (opens in a new tab)
- Some Algorithms implemented in Go (opens in a new tab)
- Algorithms Implemented in Go (opens in a new tab)
- On Go, Portability, and System Interfaces (opens in a new tab)
- 50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs (opens in a new tab)
- gotchas-and-common-mistakes-in-go-golang (opens in a new tab)
- The Top 10 Most Common Mistakes I’ve Seen in Go Projects (opens in a new tab)
- Top 24 Common Mistakes In GO Programming (opens in a new tab)
- Proposal: Dense mark bits and sweep-free allocation (opens in a new tab)
- 5 Common mistakes in Go - DeepSource (opens in a new tab)
- 5 Mistakes in Golang Developers Need to Know (opens in a new tab)
- The Go netpoller (opens in a new tab)
- Learning Golang: Build a Stock Notifier (opens in a new tab)
- Tutorial: Use FlatBuffers in Go (opens in a new tab)
- Why Go is a poorly designed language (opens in a new tab)
- Roadomatic: Node vs. Go (opens in a new tab)
- Nodejs vs. Go — Which One Is the Right Choice for You? | by Amyra Sheldon | Apr, 2022 | Medium (opens in a new tab)
- The Legacy of Go (opens in a new tab)
- Starting a new project with Go (opens in a new tab)
- Beyond the Hype: 4 Years of Go in Production (opens in a new tab)
- How did Uber develop the service with the highest number of requests per second using Go? (opens in a new tab)
- An introduction to LLVM in Go (opens in a new tab)
- gotips - golang tips (opens in a new tab)
- How I have rewritten my cryptocurrency from PHP to Go in 8 months. Part 1 (opens in a new tab)
- software.intel.com - Golang (opens in a new tab)
- Creating an open source delivery tracking service using Go language (opens in a new tab)
- blog.altoros.com/author/siarhei-matsiukevich (opens in a new tab)
- Designing applications in Go (opens in a new tab)
- Best Way To Structuring Golang Code | by Aris Haryanto | Medium (opens in a new tab)
- Creating secure services with Golang (opens in a new tab)
- Modern garbage collection (opens in a new tab)
- A Guide to the Go Garbage Collector - The Go Programming Language (opens in a new tab)
- Go by Example (opens in a new tab)
- Go by Example (opens in a new tab)
- 예제로 배우는 GO 프로그래밍 (opens in a new tab)
- Function and Method Overloading in Golang (opens in a new tab)
- Anatomy of methods in Go (opens in a new tab)
- What are methods in golang - DEV Community (opens in a new tab)
- 다른 언어에서 Go 함수 호출하기 (opens in a new tab)
- Go Experience Report: Generics in Kubernetes (opens in a new tab)
- Live building a scalable API in Go with Kubernetes (opens in a new tab)
- MongoDB Golang 드라이버의 컨텍스트와 커넥션 (opens in a new tab)
- Build a live analytics dashboard using Go and MongoDB (opens in a new tab)
- Developing a Go server (opens in a new tab)
- Go tools & GitLab — how to do Continuous Integration like a boss (opens in a new tab)
- How to Automate Golang Delivery with Buddy CI/CD (opens in a new tab)
- Phishing with a reverse proxy in Go (opens in a new tab)
- Interactive Go programming with Jupyter (opens in a new tab)
- golang: Explicit is better than implicit? (opens in a new tab)
- The beauty of Go (opens in a new tab)
- Writing Beautiful Packages in Go (opens in a new tab)
- Everything you need to know about Packages in Go (opens in a new tab)
- Golang Package Names (opens in a new tab)
- Package Organization Approaches in Go (opens in a new tab)
- Why Go Is Perfect For DevOps (opens in a new tab)
- Why Go Is Successful (aka Simplicity is Complicated) (opens in a new tab)
- Building a container from scratch in Go - Liz Rice (Microscaling Systems) (opens in a new tab)
- The benefits of using Lodash in the Go language without reflection (opens in a new tab)
- (Translation) Rules of Reflection (opens in a new tab)
- Applying Go to a project means (opens in a new tab)
- Applying Go to a project means (opens in a new tab)
- How to Build a photo feed with Go and Vue.js (opens in a new tab)
- Build a realtime comment app with Go and Pusher Channels (opens in a new tab)
- Build a Real-Time Notification System with Go and Kafka (opens in a new tab)
- Todo with Golang + GraphQL (opens in a new tab)
- Rewriting an API Gateway Service from Clojure to Golang: AppsFlyer Experience Report (opens in a new tab)
- A guide to Golang e-commerce Get your e-commerce site up and running with this Go-powered CMS tutorial (opens in a new tab)
- Good Code vs Bad Code in Golang (opens in a new tab)
- Remote debugging with delve in GoLand (opens in a new tab)
- Test Driven Development (TDD) with GoLand (opens in a new tab)
- 5 Tips To Speed Up Golang Development With IntelliJ Or Goland (opens in a new tab)
- NAVER Tech Talk: Golang Meetup (August 2018, January 2019) (opens in a new tab)
- The Journey of Running a Golang Program over Tor (opens in a new tab)
- Go As a Scripting Language in Linux (opens in a new tab)
- Several tips for Go coding-1 (opens in a new tab)
- How to manage the local submodule without URL like github.com (opens in a new tab)
- Try using Makefile when developing Golang (opens in a new tab)
- Using Makefile(s) for Go (opens in a new tab)
- Password Stretching using Key Derivation Function(KDF) (opens in a new tab)
- Slack Slash Command - English-Korean Translation (1) (opens in a new tab)
- Slack Slash Command - English-Korean Translation (2) (opens in a new tab)
- Slack Slash Command - English-Korean Translation (3) (opens in a new tab)
- Slack Slash Command - timezone current time 1/2 (opens in a new tab)
- Slack Slash Command - timezone current time 2/2 (opens in a new tab)
- Uber Go Style Guide (opens in a new tab)
- uber-go-style-guide-kr (opens in a new tab)
- Bank Salad Go Coding Convention | bank salad (opens in a new tab)
- “Go, what is it good for?” Functions, limitations, and development direction of Go language (opens in a new tab)
- PHuiP-FPizdaM - an exploit for a bug in php-fpm (CVE-2019-11043) (opens in a new tab)
- Release: Go analyzer lands in beta (opens in a new tab)
- From Java to Golang, the journey of the nexuzhealth team by Dylan Meeus (opens in a new tab)
- Let's Create a Simple Load Balancer With Go (opens in a new tab)
- The Principles of Versioning in Go (opens in a new tab)
- Parsing 18 billion JSON lines with Go (opens in a new tab)
- This post describes a large scale conversion of data into JSON format in order to load it into BigQuery. To meet the naming requirements of BigQuery, they had to remap field names on every JSON document. Their tool, which is written in Golang, uses a producer/consumer job queue to parallelize processing and partition the data before writing it out. They processed data both from Kafka and S3, and the post talks a bit about how they optimized interaction with S3.
- Clean Architecture with GO (opens in a new tab)
- Trying Clean Architecture on Golang (opens in a new tab)
- Hexagonal Architecture using Go (Fiber) | by Carlos García Rosales | Medium (opens in a new tab)
- Hexagonal Architecture Design Pattern In Go - YouTube (opens in a new tab)
- golang을 이용한 구독 커머스 아키텍처 설계 | funes-days (opens in a new tab)
- Go's Tooling is an Undervalued Technology (opens in a new tab)
- Notes on the Go translation of Reposurgeon (opens in a new tab)
- Go: Finalizers (opens in a new tab)
- Exceptional Go (opens in a new tab)
- Golang 에서 enum 자료형 사용후기 (opens in a new tab)
- Optimizing a Golang service to reduce over 40% CPU (opens in a new tab)
- Why You Should Avoid Pointers in Go (opens in a new tab)
- GoLang pointers 101 (opens in a new tab)
- Go Programming |Pointer in Golang | by Jerry An | Apr, 2022 | Medium (opens in a new tab)
- What are pointers in golang - DEV Community (opens in a new tab)
- Go: Aliases, Simple and Efficient (opens in a new tab)
- Go: How Does gops Interact with the Runtime? (opens in a new tab)
- Exploring Filter in Go (opens in a new tab)
- Go as a Scripting Language (opens in a new tab)
- Request-Response Olympics — The Search For The Perfect Request-Response Protocol (opens in a new tab)
- Spelunking Bluetooth LE with Go (opens in a new tab)
- Getting Hands-on with io_uring using Go (opens in a new tab)
- project-layout: Standard Go Project Layout (opens in a new tab)
- Golang: Three common programming Problems - Higher-Order Functions - Medium (opens in a new tab) tips like Set, ==, ...
- Cloud-Native Java vs Golang. Java once-famous motto: “Write once and… | by Igor Domrev | The Startup | Jul, 2020 | Medium (opens in a new tab)
- A Step-by-Step Guide to Go Internationalization (i18n) - Phrase Blog (opens in a new tab)
- Go: Builds & Linker’s Timeline. ℹ️ This article is based on Go 1.14. A… | by Vincent Blanchon | A Journey With Go | Medium (opens in a new tab)
- Building a telephone network service with Go, Part 1 (opens in a new tab)
- Building a telephone network service with Go, Part 2 (opens in a new tab)
- WeChat Pay integration in WeChat mini program (subtitle: HTTP communication with EUC-KR server in Golang) | Popit (opens in a new tab)
- Task orchestration in Go Machinery. | by Kief H. Shemul | The Startup | Jun, 2020 | Medium (opens in a new tab)
- Go: How to Take Advantage of the Symbols Table | by Vincent Blanchon | A Journey With Go | Medium (opens in a new tab)
- Go: Built-in Functions Optimizations | by Vincent Blanchon | A Journey With Go | Aug, 2020 | Medium (opens in a new tab)
- Finite State Machines with Go-lang. | by Dipesh Dulal | WesionaryTEAM | Medium (opens in a new tab)
- Seven Golang Features you must know about | by This is DASC | Medium (opens in a new tab)
- 5 things before you venture into your maiden Golang Project | by Nikesh Shetty | Nov, 2020 | Medium (opens in a new tab)
- Go Timebased OTP Code Generator (opens in a new tab)
- Go vs Java - Object Orientation in Go :: Jinsu Playground (opens in a new tab) OOP
- Working with Embed in Go 1.16 Version (opens in a new tab)
- Build A Simple Terminal Emulator In 100 Lines of Golang (opens in a new tab)
- Branchless Coding in Go | Matt Nakama (opens in a new tab)
- server-client-template-go (opens in a new tab)
- golang - Linux의 binfmt_misc을 사용하여 Go 스크립트를 직접 실행할 수 있게 하기 - jacking75 (opens in a new tab)
- 첫번째 글 - Hello World on API Gateway (opens in a new tab)
- 두번째 글 - 함수 사용하기 (opens in a new tab)
- golang - Analyzing Core Dump Generated By Go Program - jacking75 (opens in a new tab)
- golang - Protocol Buffers 송수신 - Go, Vue.js - jacking75 (opens in a new tab)
- Go언어로 나만의 Query Exporter 만들어보기! | gywndi's database (opens in a new tab)
- Prometheus로 매트릭을 수집할 때 Exporter에서 매트릭을 가져와서 Prometheus가 저장
- 이 Exporter를 Go 언어로 직접 구현해 보면서 Exporter의 구조를 이해하게 해주는 글
- 먼저 Prometheus가 접근할 수 있게 HTTP 요청을 받도록 열어주고 커넥션 수를 반환하도록 Collector를 구현하는 과정
- Golang Dependency Injection — (opens in a new tab)
- Golang Configuration — (opens in a new tab)
- Clean Swift Scaffold. 화면에 필요한 객체준비하는게 몹시 귀찮았던 iOS개발자의 go활용기 | by Hyeonsu Ha | 당근마켓 팀블로그 | Aug, 2021 | Medium (opens in a new tab)
- Swift로 iOS 개발을 하면서 화면 구성에 필요한 다양한 객체들을 매번 만드는 게 번거로움
- At first, we created and used iGospy, which creates the necessary code and Spy object based on the use case.
- Next, create a Clean Swift Scaffold to create directly from the command line without copy-pasting.
- Golang: Utilization of additional data in AES-GSM (opens in a new tab)
- Thinking about Go language programming: Is Go an object-oriented language? - Golden Rabbit (opens in a new tab)
- Go is a terrible language | Have you Debugged.IT? (opens in a new tab)
- Go is an awesome language | Have you Debugged.IT? (opens in a new tab)
- 20,000 lines under the Go-cean | Have you Debugged.IT? (opens in a new tab)
- Go is Korean, Lisp is Japanese (opens in a new tab)
- Offensive Golang Bonanza: Writing Golang Malware - YouTube (opens in a new tab)
- Recurse Center Day 24: Hacking Go compiler to add a new keyword - blag (opens in a new tab)
- Golang Design Patterns in Kubernetes (opens in a new tab)
- How Khan Academy Rewrote their Backend - by Quastor Tech (opens in a new tab)
- Let’s make a proper calculator! (1) (opens in a new tab)
- Hashicorp plugin system design and implementation - Real Insight Comes From Fixing Error (opens in a new tab)
- An article analyzing how the plugin system commonly used by HashiCorp in its products operates.
- The plug-in system communicates with the main system such as Terraform using gRPC.
- Since the plug-in service executes binaries, it can be distributed by building the plug-in system and binary differently.
- Describes what functions the plugin should actually implement and explains how this behavior occurs in Terraform.
- Go Programming Language Installation - GO Tutorial (opens in a new tab)
- Containerize Go + SQLite with Docker | by hüseyin nurbaki | Jan, 2022 | AWS Tip (opens in a new tab)
- How To Watch For File Change in Golang | by Jerry An | Jan, 2022 | Level Up Coding (opens in a new tab)
- Using Golang to Listen to and Parsing GitHub Webhooks | by Pascal Zwikirsch | Jan, 2022 | Level Up Coding (opens in a new tab)
- Write Golang CODE FASTER in vscode | Write code faster in vscode for Golang | Dr Vipin Classes - YouTube (opens in a new tab)
- How to Set Up Visual Studio Code for Golang ( Go Language ) (opens in a new tab)
- SOLID Principles in Golang Explained with Examples | by Jerry An | Level Up Coding (opens in a new tab)
- go-task-list at addDB (opens in a new tab)
- Trim Problem in Golang | TrimRight | TrimSuffix | Dr Vipin Classes - YouTube (opens in a new tab)
- Is TypeScript (NodeJS) Faster than Go? | A Server Comparison (opens in a new tab)
- Algorithms Implemented in Go (opens in a new tab) e.g. ahocorasick
- Best IDEs And Tools For Golang Development (opens in a new tab)
- Get an Authentication system up and running with Go(Golang) in less than 30secs - DEV Community (opens in a new tab)
- How to Build an OAuth 2.0 client application in Go (opens in a new tab)
- Use Redis as caching for the Golang API (opens in a new tab)
- Golden Rules or Mistakes in Golang | Common Mistakes | Dr Vipin Classes - YouTube (opens in a new tab)
- Why We Write Everything in Go | Bitly (opens in a new tab)
- golang databe bbolt, kval langauge, and bolter - YouTube (opens in a new tab)
- ugc: User-Generated Content Articles 📝 (opens in a new tab)
- Uploading a file in Go(Golang) - YouTube (opens in a new tab)
- Go file upload part 2 (simple straightforward method) - YouTube (opens in a new tab)
- Dynamic pipeline route in Go. Is it possible to create a pipeline… | by Yuda Prasetiya | Apr, 2022 | Medium (opens in a new tab)
- Should You Commit the Vendor Folder in Go? | Boot.dev (opens in a new tab)
- Basic matrices operations in Go - YouTube (opens in a new tab)
- Go Programming | Instantiating A Singleton Object | by Jerry An | May, 2022 | Medium (opens in a new tab)
- Build a Simple Facial Recognition Application with Golang (opens in a new tab)
- Selection Sort in Golang | Dr Vipin Classes - YouTube (opens in a new tab)
- What I am working on? Golang dashboard cms - YouTube (opens in a new tab)
- 3년 묶은 Node.js 기반 백엔드를 Golang 으로 옮기다 (opens in a new tab)
- Upload files by extension - Golang Web Development Bangla - YouTube (opens in a new tab)
- How to write safe and secure Go code (opens in a new tab)
- Data Race Patterns in Go (opens in a new tab)
- Ten Reasons Why I Don't Like Golang (opens in a new tab)
- Vidya | Scala or Go: Who Wore It Better? (opens in a new tab)
- P1 How to build real go project (library & micro-service) with source code - YouTube (opens in a new tab)
- Go Developer Roadmap - YouTube (opens in a new tab)
- Roadmap to Becoming a Go/Golang Developer in 2022 (opens in a new tab)
- How We Use Github Issues to Track Customer Feedback | Boot.dev (opens in a new tab)
- Building Development Environment for Go Lang (opens in a new tab)
- Event Listener and Dispatcher Example with Golang (opens in a new tab)
- How to Generate QR Code In Golang (opens in a new tab)
- Golang with Examples: Keeping Your Modules Compatible (opens in a new tab)
- Dynamic Programming in Golang (opens in a new tab)
- My 10+ Year Go Language Story | Homin Lee's blog (opens in a new tab)
- Status update of my tsc port (opens in a new tab)
- Kang Dong-yoon, who created SWC
tsc
Summary of the situation regarding the project being ported to Go - We use Rust, but chose the Go language because TypeScript shares many properties with Go.
- It is possible to rewrite TypeScript in Go line by line
- However, since tsc has many changes even in small versions and has as many as 340,000 lines, it is realistically difficult to rewrite all of them.
- So I thought of a compiler that takes a TypeScript compiler as input and outputs a TypeScript compiler written in Go, and I came up with ts2go.
- Because compilation errors frequently occurred in the Go code created this way, we created a Go auto-correction tool called tsfix, reducing the number of compilation errors from over 100,000 to 1,298.
- Kang Dong-yoon, who created SWC
- Go / Golang e Validation Request - YouTube (opens in a new tab)
- 7 Easy functional programming techniques in Go (opens in a new tab)
- Ultimate Go: Advanced Engineering - YouTube (opens in a new tab)
- A hasty optimization technique (opens in a new tab)
- Go + Firebase File Download - YouTube (opens in a new tab)
- Easily send an sms with Go using Twilio API in 8 minutes - YouTube (opens in a new tab)
- I am new to Behaviour Driven Development using Go | by Sarvsav Sharma | May, 2023 | Level Up Coding (opens in a new tab)
- Comprehensive Guide to Building a Video Encoding Service in Go: From Development to Deployment (opens in a new tab)
- Golang Is A Poorly-Designed Language — paul-folbrecht.net (opens in a new tab)
- Exploring Hardware Information with Go: Introducing the Board Package | by ANUJ KUMAR THAKUR | Sep, 2023 | Medium (opens in a new tab)
- Unlocking the Power of Go: Revealing CPU Secrets | by ANUJ KUMAR THAKUR | Sep, 2023 | Medium (opens in a new tab)
- Empowering Go: unveiling the synergy of AI and Q&A pipelines | Simone Vellei Blog (opens in a new tab)
- Simplifying Complexity: The Journey from WebSockets to HTTP Streams - Unladen swallow - Olivier Wulveryck (opens in a new tab) 프레임워크와 복잡한 프로토콜 대신 기본 Go 도구를 사용하여 이벤트를 직접 처리, 더 깊은 이해와 제어 가능. 때때로 가장 좋은 해결책은 도구의 복잡성에서가 아니라 문제를 기본 요소로 환원하고 직접 대처하는 능력에서 나온다
- How To Build a Complete API In Golang (Docker, JWT, MySQL) - YouTube (opens in a new tab)
- The One Billion Row Challenge in Go: from 1m45s to 4s in nine solutions (opens in a new tab)
- 업무에 손쉽게 Golang 적용하기: 로케이션 코어팀 백엔드 개발자가 일하는 방식 | by Sally | 당근 테크 블로그 | May, 2024 | Medium (opens in a new tab)
- Structural Typing과 객체지향 설계 | by Choi Geonu | May, 2024 | Medium (opens in a new tab)
- What is the GOTH stack? Quickly build web apps using Go, Templ, and Htmx #FAST - YouTube (opens in a new tab)
- Go 언어 - 성급한 추상화 (opens in a new tab)
API
- Let's Talk Locks! (opens in a new tab)
- www.dotnetperls.com/go (opens in a new tab)
- Go Walkthrough (opens in a new tab)
- Why did designers of Go language choose not to include exception handling mechanism? (opens in a new tab)
- Variadic functions in Go (opens in a new tab)
- Duck Typing with golang (opens in a new tab)
- Reading 16GB File in Seconds, Golang | by Ohm Patel | The Startup | Jul, 2020 | Medium (opens in a new tab)
- Introduction to Golang's pointers (Go programming language) - YouTube (opens in a new tab)
- Go: marshaling/unmarshaling of structures with many fields (opens in a new tab)
- moving data to another structure with the same field name (opens in a new tab) Golang: marshaling/unmarshaling
- Recover function in Go (Golang) (opens in a new tab)
- src/runtime/HACKING.md - The Go Programming Language (opens in a new tab)
- golang - unusual init function - jacking75 (opens in a new tab)
- Go Programming | Copy function Explained | by Jerry An | Level Up Coding (opens in a new tab)
- iota in Go || iota in golang || use of iota with example in go - YouTube (opens in a new tab)
- Control flow in Go || if else in go || switch case in Go - YouTube (opens in a new tab)
- Unexpected Newline, Expecting Comma in Golang | Dr Vipin Classes - YouTube (opens in a new tab)
- Print a number with (comma) thousands separator in Go (Golang) (opens in a new tab)
- Some Gotchas And Quirky Syntax In The Go Programming Language - YouTube (opens in a new tab)
- Explaining common I/O Patterns in Go | by Naren Yellavula | Dev bits | Jun, 2022 | Medium (opens in a new tab)
- Some Uncommon Syntax/Features In Go - YouTube (opens in a new tab)
- array
- The anatomy of Arrays in Go (opens in a new tab)
- Go: Slice and Memory Management (opens in a new tab)
- Golang tips: why pointers to slices are useful and how ignoring them can lead to tricky bugs (opens in a new tab)
- Bad Go: slices of pointers (opens in a new tab)
- Array Manipulation in Go: Insert | Amit Biswas (opens in a new tab)
- How to get Min/Max value from slice for int and float with Golang? - CodeTips - Helping Developers (opens in a new tab)
- database/sql (opens in a new tab)
- Golang database/sql package shovel - Part 1 Parameter indicators (opens in a new tab)
- Golang database/sql package shovel - Part 2 SQLite memory database (opens in a new tab)
- Golang database/sql 패키지 삽질기 - 3편 커넥션 풀 (opens in a new tab)
- Testing database interactions using Go (opens in a new tab)
- Backend #6 A clean way to implement database transaction in Golang - YouTube (opens in a new tab)
- Database basics: writing a SQL database from scratch in Go (opens in a new tab)
- Build Your Own Distributed Database With Go (opens in a new tab)
- Practical Persistence in Go: SQL Databases (opens in a new tab)
- Golang ORM, 무엇이 좋을까? · Billo Park (opens in a new tab)
- Golang xORM 편리한 기능 소개 | Popit (opens in a new tab)
- Go nulls and SQL (opens in a new tab)
- How to Work With SQL Database In Golang (Fetch, Insert & Paginate Records) (opens in a new tab)
- Golang SQL Beginner Tutorial + SQLX (opens in a new tab)
- ent. An entity framework for Go (opens in a new tab) ORM
- genji: Document-oriented, embedded SQL database (opens in a new tab)
- go-dsb: Go - Data Struct Bag (opens in a new tab)
- GORM - The fantastic ORM library for Golang, aims to be developer friendly (opens in a new tab)
- Precautions when using GORM (opens in a new tab)
- golang - Unit testing code that uses RDB using in-memory DB (Golang + Gorm as example) - jacking75 (opens in a new tab)
- Gorm level UP: how to upgrade and start to use Gorm v2 | by Michael Ushakov | Feb, 2022 | Medium (opens in a new tab)
- How to use GORM to interact with SQL databases in Golang (opens in a new tab)
- Mastering GORM: The Ultimate Go ORM Tutorial Series - YouTube (opens in a new tab)
- gorm-gqlgen-relay (opens in a new tab)
- orm: A lightweight yet powerful ORM (Object-relation mapper) for Go projects (opens in a new tab)
- ql · GitLab (opens in a new tab)
- cmp
- defer
- encoding
- fmt
- generic
- Generics are the Generics of Go | Capital One | Capital One Tech (opens in a new tab)
- Experimenting with generics in Go | by Alexey Soshin | The Startup | Medium (opens in a new tab)
- Generic Programming in Golang | Dr Vipin Classes - YouTube (opens in a new tab)
- Getting Started with Generics in Golang (opens in a new tab)
- What comes with Go 1.18 Features Golang Generics Fuzzing | Medium (opens in a new tab)
- Implement Balanced Algorithm in Golang 1.18 Generic Style | by Anirut Kamchai | Mar, 2022 | Medium (opens in a new tab)
- Reduce function using Generics in Go (Golang) (opens in a new tab)
- Palindrome using generics in Go 1.18 | by Yuda Prasetiya | Mar, 2022 | Medium (opens in a new tab)
- Generics can make your Go code slower (opens in a new tab)
- Calculate Mean in Go (Golang) using Generics (opens in a new tab)
- Go 제네릭 : NHN Cloud Meetup (opens in a new tab)
- When To Use Generics - The Go Programming Language (opens in a new tab)
- Generics in Go Explained with Code Examples (opens in a new tab)
- Generics! Generics!! Generics!!!. It turns out interface is king?? (Go and Generics) | by oyebode amirdeen | Feb, 2024 | Medium (opens in a new tab)
- interface
- map
- map[string]interface in Go — Bitfield Consulting (opens in a new tab)
- How the Go runtime implements maps efficiently (without generics) (opens in a new tab)
- Assignment to entry in nil map in golang | Common Mistake in Golang | Dr Vipin Classes - YouTube (opens in a new tab)
- Avoid The Three Mistakes When Using a Map in Go | by Jerry An | Feb, 2022 | Level Up Coding (opens in a new tab)
- Introduction to Golang Maps With Examples (opens in a new tab)
- Golang JSON Tutorial | Convert JSON to Map in Go (opens in a new tab)
- Go Maps Don’t Appear to be O(1) (opens in a new tab)
- Are Go maps sensitive to data races ? (opens in a new tab)
- module
- Part 1 - Using Go Modules (opens in a new tab)
- Part 2 - Migrating to Go Modules (opens in a new tab)
- Part 3 - Publishing Go Modules (opens in a new tab)
- Part 4 - Go Modules: v2 and Beyond (opens in a new tab)
- Improving how packages are organized using Go modules (opens in a new tab)
- How to use private external storage with Go modules (opens in a new tab)
- net/IO
- net/http
- An Overview of Server-Side HTTP APIs in Go (opens in a new tab)
- HTTP connection pool in Go explained (opens in a new tab)
- ssh bastion proxy용 golang network proxy (opens in a new tab)
- Build Your Own Neural Network in Go (opens in a new tab)
- Martin Baillie | Gotchas in the Go Network Packages Defaults (opens in a new tab)
- SMTP protocol basics from scratch in Go: receiving email from Gmail | notes.eatonphil.com (opens in a new tab)
- Transforming TCP Sockets to HTTP With Go (opens in a new tab)
- I Don’t Like Go’s Default HTTP Handlers · Preslav Rachev (opens in a new tab)
- Set HTTP client timeout in Go (Golang) (opens in a new tab)
- nil
- panic
- Go: How Does a Program Recover?. Panics in Go are triggered when the… | by Vincent Blanchon | A Journey With Go | Oct, 2020 | Medium (opens in a new tab) defer panic WaitGroup
- Golang Panic을 Rocover 할 때 Error Stack Trace 함께 출력하기 | Popit (opens in a new tab)
- Golang, 그대들은 어떻게 할 것인가 - 1. 들어가며 (opens in a new tab)
- Golang, 그대들은 어떻게 할 것인가 - 2. MongoDB Go Driver 추상화 (opens in a new tab)
- Golang, 그대들은 어떻게 할 것인가 - 3. error 래핑 (opens in a new tab)
- Golang, what will you do - 4. Error handling (opens in a new tab)
- protobuf A new Go API for Protocol Buffers - The Go Programming Language (opens in a new tab)
- regexp (opens in a new tab)
- sort
- strings
- struct
- sync
- text
- time
- type
- work
Book
- The fastest Go language publication and manuscript release (opens in a new tab)
- Go language stories read in one night for developers (opens in a new tab)
- Discovery Go language (opens in a new tab)
- TheBook: A thorough introduction to Go language web programming (opens in a new tab)
- A curated list of Golang books (opens in a new tab)
- 5 Books I Recommend for You to Learn Go | by Jerry An | May, 2022 | Medium (opens in a new tab)
- Effective Go (opens in a new tab)
- gitbook.com/search?q=go (opens in a new tab)
- gitbook.com/search?q=golang (opens in a new tab)
- Go for Beginners by Edward Thornton - YouTube (opens in a new tab)
- How to Write Go Code (opens in a new tab)
- The Go Programming Language (opens in a new tab)
- Thoughts on Go performance optimization (opens in a new tab)
- Production Go (opens in a new tab)
Compiler
- Compiler Part 1: Introduction to Writing a Compiler in Pure Go (opens in a new tab)
- Writing a Compiler in Go (opens in a new tab)
- Writing a JIT compiler in Golang (opens in a new tab)
- Go: Overview of the Compiler (opens in a new tab)
- Gsp - a compiler built on top of Joseph Adams' Gisp (opens in a new tab)
- TINYGO - A GO COMPILER FOR SMALL PLACES (opens in a new tab)
Debug
- Introducing a cross-platform debugger for Go (opens in a new tab)
- Go has a debugger—and it's awesome! (opens in a new tab)
- Using the gdb debugger with Go (opens in a new tab)
- Debugging a Go application inside a container (opens in a new tab)
- Debugging Go Inside Docker, Using Visual Studio Code and Remote Containers (opens in a new tab)
- delve: Delve is a debugger for the Go programming language (opens in a new tab)
- Gebug: Debug Dockerized Go Applications Better (opens in a new tab)
Docker
- A Go, Docker workflow (opens in a new tab)
- 7 common mistakes in Go and when to avoid them by Steve Francia (Docker) (opens in a new tab)
- Containerize Your Go Developer Environment - Part 1 - Docker Blog (opens in a new tab)
- Containerize Your Go Developer Environment - Part 2 - Docker Blog (opens in a new tab)
- Containerize Your Go Developer Environment – Part 3 - Docker Blog (opens in a new tab)
- Creating a ‘usable’ Docker Image - Part 2 Build and Push a Docker Image For Go Development (opens in a new tab)
- Building a Golang Docker image — Bitfield Consulting (opens in a new tab)
- Running Go on Docker — Comparing Debian vs Alpine vs Distroless vs BusyBox vs Scratch | by Laurent Bel | Aug, 2022 | Medium (opens in a new tab)
- Gocker Containers the hard way: Gocker: A mini Docker written in Go - Unixism (opens in a new tab)
- gockerize - Package golang service into minimal docker containers (opens in a new tab)
Error
- Go's error handling: good and bad (opens in a new tab)
- Working with Errors in Go 1.13 (opens in a new tab)
- Designing errors with Go 1.13 (opens in a new tab)
- golang - golang error handling (Go1.13) - jacking75 (opens in a new tab)
- Error stack traces in Go with x/xerror — brandur.org (opens in a new tab)
- Build a Go package that annotates errors with stack traces. (18 November 2019) (opens in a new tab)
- Creating good syntax errors (opens in a new tab)
- Error Handling Strategies In Go. In Go, when a function call returns an… | by Jerry An | Apr, 2022 | Level Up Coding (opens in a new tab)
- Error Handling Style Guide in Golang | by Jerry An | Aug, 2022 | Medium (opens in a new tab)
- Gopher Wrangling. Effective error handling in Go | Stephen's Tech Blog (opens in a new tab)
- errors: Simple error handling primitives (opens in a new tab)
goroutine
- Concurrency is not Parallelism (opens in a new tab)
- Go concurrency is not parallelism: Real world lessons with Monte Carlo simulations (opens in a new tab)
- CONCURRENCY OUTLOOK USING CMS DAS SERVICE (opens in a new tab)
- Concurrency, Goroutines and GOMAXPROCS (opens in a new tab)
- Gracefully stopping goroutines (opens in a new tab)
- Goroutines vs Threads (opens in a new tab)
- dotGo 2017 - Sameer Ajmani - Simulating a real-world system in Go (opens in a new tab)
- between writing concurrent programs and the real world
- GopherCon 2017: Kavya Joshi - Understanding Channels (opens in a new tab)
- A deep dive into the channel implementation in Go
- Understanding GO Routine and Channel | by Thinley Norbu | WesionaryTEAM | Jul, 2020 | Medium (opens in a new tab)
- golang - Understanding goroutines and channels while creating a Go chat server - jacking75 (opens in a new tab)
- A Beginner's Guide to Golang Channels - YouTube (opens in a new tab)
- Channels and Go Routines - CodeTips - Helping Developers (opens in a new tab)
- Limit concurrent function executions using Go channels - DEV Community (opens in a new tab)
- Diving in Async programming tricks with Golang | by Nikhil Chawla | Feb, 2022 | Medium (opens in a new tab)
- Go (Golang) with Async/Await. Go (Golang) with Async/Await | by Mertcan Arguç | Medium (opens in a new tab)
- Async/Await in Golang: An Introductory Guide (opens in a new tab)
- Simulating A Real-World System (Coffee Shop) In Go (opens in a new tab)
- Rob Pike - 'Concurrency Is Not Parallelism' (opens in a new tab)
- Concurrency Made Easy (Practical Tips For Effective Concurrency In Go) (opens in a new tab)
- Go runtime AND goroutine (opens in a new tab)
- Achieving concurrency in Go (opens in a new tab)
- Why goroutines are not lightweight threads? (opens in a new tab)
- Go: How Does a Goroutine Start and Exit? (opens in a new tab)
- Structured Concurrency in Go (opens in a new tab)
- Go: How Are Deadlocks Triggered?. ℹ️ This article is based on Go 1.14. | by Vincent Blanchon | A Journey With Go | Jul, 2020 | Medium (opens in a new tab)
- Go: Goroutine Leak Detector. A goroutine leak can easily be detected… | by Vincent Blanchon | A Journey With Go | Sep, 2020 | Medium (opens in a new tab)
- Notes on structured concurrency, or: Go statement considered harmful (opens in a new tab)
- Concurrent API Patterns in Go. When I first started writing Golang… | by Mark Salpeter | Apr, 2021 | Medium (opens in a new tab)
- Golang 의 동시성을 이용한 소수 찾기 (opens in a new tab)
- Go 언어의 동시성 관리 방법 · Present (opens in a new tab)
- Goroutine 은 어떻게 동작할까? :: sungjunyoung (opens in a new tab)
- errgroup으로 goroutine 10배 잘 활용하기 | DevJin-Blog (opens in a new tab)
- Limit Unbound Concurrency in Go (Part 1) | by Jerry An | Dec, 2021 | Level Up Coding (opens in a new tab)
- Limit Unbound Concurrency in Go (Part 2) | by Jerry An | Dec, 2021 | Level Up Coding (opens in a new tab)
- Limit Unbound Concurrency in Go (Part 3) | by Jerry An | Geek Culture | Dec, 2021 | Medium (opens in a new tab)
- 고루틴의 동작 원리에 관하여 (opens in a new tab)
- Goroutines in Golang | Golang Concurrency | Go - YouTube (opens in a new tab)
- A Deep Dive Into Go's Concurrency | by Kevin Vogel | Apr, 2022 | Better Programming (opens in a new tab)
- golang 동시성을 위한 고루틴(goro.. : 네이버블로그 (opens in a new tab)
- go-concurrency-guide: Practical concurrency guide in Go, communication by channels, patterns (opens in a new tab)
- leaktest - Goroutine Leak Detector (opens in a new tab)
- tistory-to-md: Tistory의 OpenAPI를 사용하여 게시글과 이미지를 MarkDown으로 백업하는 프로젝트 입니다 (opens in a new tab)
Library
- Google releases load balancing platform as open source (opens in a new tab)
- Hangul phoneme separator (opens in a new tab)
- StableLib, an LTS distribution of Go packages, released! (opens in a new tab)
- Projects (opens in a new tab)
- 10 open source projects that showcase the power of Google Go (opens in a new tab)
- golang - P2P library made with Go - jacking75 (opens in a new tab)
- Android
- ansible-role-go: Ansible role - Go (opens in a new tab) An Ansible Role that installs Go (the language) on Linux
- antibody - A faster and simpler antigen written in Golang. http://antibody.elasticbeanstalk.com (opens in a new tab)
- atomic: Wrapper types for sync/atomic which enforce atomic access (opens in a new tab)
- AWS SDK for Go (opens in a new tab)
- binclude: Include files in your binary the easy way (opens in a new tab)
- bitesized - a library that uses redis's bit operations to store and calculate analytics (opens in a new tab)
- Build your own dynamic DNS service with GO! (opens in a new tab)
- c2go - A tool for converting C to Go (opens in a new tab)
- caddy2 - A new kind of extensible platform for server apps (opens in a new tab)
- casbin: An authorization library that supports access control models like ACL, RBAC, ABAC in Golang (opens in a new tab)
- Clones of the *nix utilities written in go (opens in a new tab)
- BuffStreams - A library to simplify writing applications using TCP sockets to stream protobuff messages (opens in a new tab)
- BrodalOkasakiHeap - An implementation of Brodal-Okasaki heap using Go (opens in a new tab)
- Caire - Content aware image resize library (opens in a new tab)
- cgapp Create Go App Easily create projects using (opens in a new tab)
- Clarifai Golang Library - Unofficial library written for the Clarifai API (opens in a new tab)
- cmux - Connection multiplexer for GoLang: serve different services on the same port! (opens in a new tab)
- color: Color package for Go (golang) (opens in a new tab)
- contract-match (opens in a new tab)
- Daptin - Backend As A Service - GraphQL/JSON-API Headless CMS (opens in a new tab)
- delibird - Shipment tracking library for Golang. http://purpleworks.github.io/delibird (opens in a new tab)
- dep
- DevDash Dashboard for Developers (opens in a new tab)
- DFAB-Archiver-slackbot: A program that backs up Slack channel messages. (opens in a new tab)
- dlCBF - d-left Counting Bloom Filter (opens in a new tab)
- doctree: First-class library docs tool: supports every language, symbol search, finds usage examples automagically. Based on tree-sitter, runnable standalone or via http://doctree.org (opens in a new tab)
- doggo: Command-line DNS Client for Humans. Written in Golang (opens in a new tab)
- dqlite
- Elsa is a minimal, fast and secure runtime for Javascript and Typescript written in Go (opens in a new tab)
- Encore - Go framework for building distributed systems (opens in a new tab)
- Ferrum: Go OpenId authorization server with Keycloak like behaviour (similar endpoint, reaction and so on) (opens in a new tab)
- eris provides a better way to handle, trace, and log errors in Go (opens in a new tab)
- excelize: Go language library for reading and writing Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX) spreadsheets (opens in a new tab)
- exposq - Go app that dispatches osquery to multi-machines (opens in a new tab)
- Facebook Go (opens in a new tab)
- File-Handling-Packages-in-Golang: The built-in library of Go offers excellent support to perform file-related operations, such as creating a file, read/write operations, file rename or move, copy, getting metadata information of the file, and so forth. (opens in a new tab)
FRAGMENTA - websites with Go(opens in a new tab)- Free, instant, secure, disposable chat (opens in a new tab)
- Fuego: Functional Experiment in Golang (opens in a new tab)
- GAM is a MVP Actor Model framework for Go (opens in a new tab)
- gflatten: Golang for map and struct flatten library (opens in a new tab)
- GIGO: PIP for GO (opens in a new tab)
- gimpy - A simple Gisp core overlay providing bindings to Go's stdlib (opens in a new tab)
- gitqlite: Query git repositories with SQL. Uses SQLite virtual tables and go-git (opens in a new tab)
- glance: A self-hosted dashboard that puts all your feeds in one place (opens in a new tab)
- glass - Automated time tracking for Git repositories (opens in a new tab)
- Glide - Package Management for Go (opens in a new tab)
- glsnip: copy and paste across machines (opens in a new tab)
- gnostic: A compiler for APIs described by the OpenAPI Specification with plugins for code generation and other API support tasks (opens in a new tab)
- GoArm (opens in a new tab)
- go-authentication-api: An authentication API developed in Go language (opens in a new tab)
- goawk: A POSIX-compliant AWK interpreter written in Go (opens in a new tab)
- go-bit: A library to read/write bits array like binary.Read/Write (opens in a new tab)
- gobot - Go, Robot, Go! Golang Powered Robotics Next generation robotics framework with support for 17 different platforms (opens in a new tab)
- go-candyjs - fully transparent bridge between Go and the JavaScript (opens in a new tab)
- gocelery: Celery Distributed Task Queue in Go (opens in a new tab)
- goclj package - github.com/cespare/goclj - pkg.go.dev (opens in a new tab)
- GoCqlTable is a wrapper around the GoCql-driver that seeks to simplify working with the Cassandra database in Golang projects (opens in a new tab)
- Go Crypto - Gotham Go (opens in a new tab)
- go-datastructures (opens in a new tab)
- godate Easy date manipulation in Golang with Godate (opens in a new tab)
- Godep: Dependency Management in Go (opens in a new tab)
- Godray - a simple ray tracer (opens in a new tab)
- GoDS - Go Data Structures. Tags: Containers, Sets, Lists, Stacks, Maps, Trees, HashSet, TreeSet, ArrayList, SinglyLinkedList, DoublyLinkedList, LinkedListStack, ArrayStack, HashMap, TreeMap, RedBlackTree, BinaryHeap, Comparator, Sort (opens in a new tab)
- Goenv – Go Environment Manager (opens in a new tab)
- GOES - Go Event Sourcing made easy https://opensource.bloom.sh (opens in a new tab)
- go-freeling - Golang Natural Language Processing (opens in a new tab)
- Gofs: The Easy Way to Synchronize Files in Real Time (opens in a new tab)
- gogenerate: Source code for the "go:generate" talk (opens in a new tab)
- go-git - A highly extensible Git implementation in pure Go (opens in a new tab)
- Gog (opens in a new tab)
- Go-i18n: Translate Your Go Program into Multiple Languages (opens in a new tab)
- Go(ing) to the Clouds (opens in a new tab)
- go-itergen addresses a common and big problem of go: no maps, no filters, no nothing (opens in a new tab)
- golangci-lint Introduction | golangci-lint (opens in a new tab)
- A guide to linting Go programs (opens in a new tab)
- Effectively managing coding style using golangci-lint | by Lani | Carrot Market Team Blog | Feb, 2022 | Medium (opens in a new tab)
- When using golang, select golangci-lint to agree on code conventions within the team and automatically check them.
- I chose this tool because it supports GitHub Actions well and is easy to use even for local development.
- By applying CI, it is possible to detect missing conventions that were not discovered before.
- go-linq: .NET LINQ capabilities in Go (opens in a new tab)
- golongpoll - golang HTTP longpolling library, making web pub-sub easy! (opens in a new tab)
- go-mail: 📧 A cross platform mail driver for GoLang. Featuring Mailgun, Postal, Postmark, SendGrid, SparkPost & SMTP (opens in a new tab)
- Go & Martini (opens in a new tab)
- gomobile Mobile · grow/wiki (opens in a new tab)
- go-nfs: golang NFSv3 server (opens in a new tab)
- Goofys is a Filey-System interface to S3 (opens in a new tab)
- GoPacket
- go-password-hasher: Password hasher with random salts (opens in a new tab)
- go-paystack: A simple paystack wrapper built using GO (opens in a new tab)
- gophericons - 34 gopher images for Go developers community (opens in a new tab)
- gopkgs Custom Domain Module Import Service for Google Go (golang) | GoPkgs.org (opens in a new tab)
- GoPlus - The Go+ language for data science (opens in a new tab)
- gops - a command to list and diagnose Go processes currently running on your system (opens in a new tab)
- goqrexfil: A mini project to exfiltrate data via QR codes (opens in a new tab)
- goroom: An embedded data store version manager (opens in a new tab)
- gosiris An Introduction to gosiris, an Actor Framework for Go (opens in a new tab)
- gosivy: Real-time visualization tool for Go process metrics (opens in a new tab)
- go-sqlmock: Sql mock driver for golang to test database interactions (opens in a new tab)
- gostl: Data structure and algorithm library for go, designed to provide functions similar to C++ STL (opens in a new tab)
- gota: Gota: DataFrames and data wrangling in Go (Golang) (opens in a new tab)
- GoWork - Go Library for distributing work to workers (opens in a new tab)
- gpu-operator: NVIDIA GPU Operator creates/configures/manages GPUs atop Kubernetes (opens in a new tab)
- gqlgen: go generate based graphql server library (opens in a new tab)
- grace - Graceful restart for Go servers. https://godoc.org/github.com/facebookgo/grace (opens in a new tab)
- graphjin: GraphJin - Build APIs in 5 minutes with GraphQL. An instant GraphQL to SQL compiler (opens in a new tab)
- gRPC
- Go RESTful API(gRPC Client) + Python gRPC server (opens in a new tab)
- gRPC Deadline (opens in a new tab)
- gRPC Error in Golang (opens in a new tab)
- Clean Architecture in Go - An example of clean architecture in Go using gRPC (opens in a new tab)
- gRPC SSL/TLS 1. About cryptography - symmetric key, asymmetric key, hash algorithm (opens in a new tab)
- gRPC SSL/TLS 2. About SSL/TLS (opens in a new tab)
- gRPC SSL/TLS 3. Practical implementation (opens in a new tab)
- golang and gRPC in production (opens in a new tab)
- Implement gRPC client in Golang - YouTube (opens in a new tab)
- Notification Microservice Project With gRPC (opens in a new tab)
- Building Microapps with gRPC-Web, Go and React. | Alva Labs (opens in a new tab)
- Writing a Simple gRPC Application in Golang From Scratch | by Jerry An | May, 2022 | Medium (opens in a new tab)
- How to writing a microservice in Golang which communicates over gRPC (opens in a new tab)
- When RESTful architecture isn't enough... - YouTube (opens in a new tab)
- twirp: A simple RPC framework with protobuf service definitions (opens in a new tab)
- grequests - A Go "clone" of the great and famous Requests library (opens in a new tab)
- gvm: Go Version Manager enables seamless installing and swapping between Go versions with a single command. This tool manages a Go environment for the user by allowing a user to specify which Go version they wish to use and handling all of the steps to install and configure that Go version. GVM also supports installing Go from the official Golang master branch so that you can easily try the next version of Go without waiting for a pre release build (opens in a new tab)
- hangulize.org (opens in a new tab)
- hc - HomeControl is an implementation of the HomeKit Accessory Protocol (HAP) in Go. http://selfcoded.com/homecontrol (opens in a new tab)
- hn-text: A text-first HN client (opens in a new tab)
- hraftd is a reference use of the Hashicorp Raft implementation, inspired by raftd (opens in a new tab)
- Journey - A minimal blog engine written in Go, compatible with Ghost themes (opens in a new tab)
- json-to-go (opens in a new tab) json to go struct
- Kashmir is a LISP-inspired language with static typing that compiles to native code using Go (opens in a new tab)
- kashmir - Transactional Locking II (TL2)-inspired STM library for Go (opens in a new tab)
- koazee golang - 빠른 컬렉션 조작 라이브러리 Koazee - jacking75 (opens in a new tab)
- kratos: Your ultimate Go microservices framework for the cloud-native era (opens in a new tab)
- let-go: Clojure-esque extension language for Go (opens in a new tab)
- lilliput - Resize images and animated GIFs in Go (opens in a new tab)
- How Discord Resizes 150 Million Images Every Day with Go and C++ (opens in a new tab)
- python service를 go로 바꾸는 과정에서 발생한 여러가지 기술 문제들을 자세히 설명하는 좋은 글
- How Discord Resizes 150 Million Images Every Day with Go and C++ (opens in a new tab)
- linda - Multi-platform, highly configurable conference bot (opens in a new tab)
- Logrus is a structured logger for Go (golang), completely API compatible with the standard library logger (opens in a new tab)
- lo: A Lodash-style Go Library Based on Go 1.18+ Generics (opens in a new tab)
- Machinery is an asynchronous task queue/job queue based on distributed message passing (opens in a new tab)
- mark - A markdown processor written in Go. built for fun (opens in a new tab)
- matterbridge Letting people be where they want to be (opens in a new tab)
- Mattermost is an open source, on-prem Slack-alternative (opens in a new tab)
- Microsoft Azure SDK for Go (opens in a new tab)
- minio - minimal object storage (opens in a new tab)
- Minimal Object Storage (opens in a new tab)
- MinIO object storage scala client (opens in a new tab)
- MinIO Introduction—Understanding HA and configuring a DR strategy. Naver G Place AI development team... | by UJ | Naver Place Development Blog | April, 2023 | Medium (opens in a new tab)
- mc MinIO Client - a replacement for ls, cp, mkdir, diff and rsync commands for filesystems and object storage. https://min.io/download (opens in a new tab)
- mmap-go: A portable mmap package for Go (opens in a new tab)
- Monsti - a free and open source CMS written in Go (opens in a new tab)
- mouseable: 'Mouseable' is intended to replace a mouse or tackpad (opens in a new tab)
- notifications-engine: Affordable notifications for Kubernetes (opens in a new tab)
- Notifications Engine is here!. The Argoproj community has been working… | by Alexander Matyushentsev | May, 2021 | Argo Project (opens in a new tab)
- Argo unveils the notification engine used for notifications in Argo CD and Argo Rollouts.
- The Kubernetes controller can send notifications to Slack, MS Teams, Mattermost, SMTP, Telegram, etc., and use notifications using settings and templates.
- Implement the desired notification controller in Golang and create a notification using Configmap, then set the notification using annotations in each project.
- Notifications Engine is here!. The Argoproj community has been working… | by Alexander Matyushentsev | May, 2021 | Argo Project (opens in a new tab)
- ntfy: Send push notifications to your phone or desktop using PUT/POST (opens in a new tab)
- passgo - Simple golang password manager (opens in a new tab)
- pet: Simple command-line snippet manager, written in Go (opens in a new tab)
- Plugins for Go (opens in a new tab)
- PMC - Probabilistic Multiplicity Counting Sketch (PMC) (opens in a new tab)
- PocketBase - Open Source backend in 1 file (opens in a new tab)
- Pubsage: Library adapter to connect your logic code to pubsub or message broker (opens in a new tab)
- QOR - the first E-commerce & CMS SDK written in Go (opens in a new tab)
- QRCode Terminal (opens in a new tab)
- Qt binding for Go (Golang) with support for Windows / macOS / Linux / FreeBSD / Android / iOS / Sailfish OS / Raspberry Pi / AsteroidOS / Ubuntu Touch / JavaScript / WebAssembly (opens in a new tab)
- Ransomware (opens in a new tab) The intent here is to disseminate and teach more about security in the actual world. Remember, security is always a double-edged sword
- requesthub - Receive, Log, and Proxy HTTP requests (opens in a new tab)
- restic - a program that does backups right (opens in a new tab)
- rests_v: 잔여 백신 맵 서비스 모니터링 (opens in a new tab)
- rf · pkg.go.dev (opens in a new tab) an experimental refactoring tool
- Risotto compiles JSX using Golang (opens in a new tab)
- Roshi - a large-scale CRDT set implementation for timestamped events (opens in a new tab)
- rudder-server - Privacy and Security focused Segment-alternative, in Golang and React (opens in a new tab)
- RxGo Announcing RxGo v2 (opens in a new tab)
- script - Making it easy to write shell-like scripts in Go (opens in a new tab)
- Seaweed-FS is a simple and highly scalable distributed file system (opens in a new tab)
- serve2d - A protocol detecting server, based off the serve2 library (opens in a new tab)
- Server-Sent Events in Go (opens in a new tab)
- shadowd is the secure login distribution service, which consists of two parts: server and client (opens in a new tab)
- shiori - Simple bookmark manager built with Go (opens in a new tab)
- short - URL shortening service written in Go and React https://s.time4hacks.com (opens in a new tab)
- short - URL shortening service written in Go and React https://short-d.com (opens in a new tab)
- sidh Golang: analysis of sidh, a package that implements cryptography technology after quantum computers (opens in a new tab)
- Simple REST mail server (opens in a new tab)
- slog-ctx: The slog-ctx library is designed to facilitate handling context using slog (opens in a new tab)
- sops: Simple and flexible tool for managing secrets (opens in a new tab) encrypt decrypt
- speedtest-resize: Compare various Image resize algorithms for the Go language (opens in a new tab)
- Stable Distribution of Go Packages With Long-Term Support (opens in a new tab)
- Staticcheck (opens in a new tab) static analysis
- Stats - A statistics package with many functions missing from the Golang standard library (opens in a new tab)
- sumoshell - A terminal-only version of Sumo written in Go (opens in a new tab)
- sup - a simple deployment tool that performs given set of commands on multiple hosts in parallel (opens in a new tab)
- syncer - Fast stateful file/disk data syncer (opens in a new tab)
- temi - Simple terminal-based dashboard of golang memory statistic (opens in a new tab)
- termloop - Terminal-based game engine for Go, built on top of Termbox (opens in a new tab)
- Tetris Written in Go (opens in a new tab)
- text: Go text processing support (opens in a new tab)
- textql - Execute SQL against structured text like CSV or TSV (opens in a new tab)
- Tollbooth: An HTTP rate limiter middleware in Go (opens in a new tab)
- Track code coverage metrics with Jenkins and Phabricator (opens in a new tab)
- TRS-80 Model III emulator in Go with a web interface (opens in a new tab)
- Twirp: a sweet new RPC framework for Go (opens in a new tab)
- utron is a lightweight MVC framework in Go (opens in a new tab)
- vet Go: Vet Command Is More Powerful Than You Think (opens in a new tab)
- vgo integration support (opens in a new tab)
- vim-go - Go development plugin for Vim (opens in a new tab)
- vtprotobuf: A Protocol Buffers compiler that generates optimized marshaling & unmarshaling Go code for ProtoBuf APIv2 (opens in a new tab)
- wafflesyrup: Simple backup solution written by Go (opens in a new tab)
- wego - weather app for the terminal (opens in a new tab)
- wire: Compile-time Dependency Injection for Go (opens in a new tab)
- wmi2struct golang - Tool to get Windows Management Instrumentation easily wmi2struct - jacking75 (opens in a new tab)
- xid: golang GUID creation package tour (opens in a new tab)
- xurls - Extract urls from text (opens in a new tab)
- Yahoo Stock Quotes in Go (opens in a new tab)
- yh: YAML syntax highlighter to bring colours where only jq could (opens in a new tab)
Library cache
- Fast PUT/GET/DELETE in-memory key-value store for lookaside caching (opens in a new tab)
- arc - An Adaptive Replacement Cache (ARC) written in Go (opens in a new tab)
- badger: Fast key-value DB in Go (opens in a new tab)
- bigcache - Efficient cache for gigabytes of data written in Go (opens in a new tab)
- fastcache: Fast thread-safe inmemory cache for big number of entries in Go. Minimizes GC overhead (opens in a new tab)
- go-cache: A Go library to deal with multi-layered caching between in-memory cache and shared cache (i.e. Redis) by adopting Cache-Aside pattern. (opens in a new tab)
- Groupcache | How to cache and fill cache with Golang (opens in a new tab)
- kvass: a personal key-value store (opens in a new tab)
- pebble: RocksDB/LevelDB inspired key-value database in Go (opens in a new tab)
Library CLI command line interface
- Writing Go CLIs With Just Enough Architecture · The Ethically-Trained Programmer (opens in a new tab)
- Building CLI Apps with Golang - YouTube (opens in a new tab)
- A simpler building block for Go CLIs | by Michael Fridman | Medium (opens in a new tab)
- A command-line fuzzy finder written in Go (opens in a new tab)
- Build A Beautiful CLI Todo App in Golang | Golang Tutorial (opens in a new tab)
- Code & Containerize Go CLI App with Chainguard Images | #golang #chainguard #docker @chainguard - YouTube (opens in a new tab)
- atomicsql_golang: ORM library for Golang having implemented lambda expression for Where() and Select() (opens in a new tab)
- Charm (opens in a new tab)
- cobra: A Commander for modern Go CLI interactions (opens in a new tab)
- Cobra | A Commander for modern Golang CLI interactions (opens in a new tab)
- How to build a CLI tool with Go and Cobra | Go Project Building - YouTube (opens in a new tab)
- How to build CLI tool with Go and Cobra | by Sofikul Mallick | Aug, 2022 | Dev Genius (opens in a new tab)
- Build a CLI Application using Golang and Cobra Library — Cobra Tutorial - YouTube (opens in a new tab)
- How to create CLI Applications in Go using Cobra and Viper (opens in a new tab)
- Glow - Render markdown on the CLI, with pizzazz! (opens in a new tab)
- go-sct GoDoc - A color temperature setting library and CLI that operates in a similar way to f.lux and Redshift (opens in a new tab)
- go-tea - Tea provides an Elm inspired functional framework for interactive command-line programs (opens in a new tab)
- goterminal: A cross-platform Go-library for updating progress in terminal (opens in a new tab)
- happyfinder - Fuzzy file finder for the command line (opens in a new tab)
- macos-totp-cli: simple TOTP CLI, powered by keychain of macOS (opens in a new tab)
- CLI that allows you to use TOTP (Time-based One-Time Password) in the terminal using macOS Keychain
- natscli: The NATS Command Line Interface (opens in a new tab)
- pet : CLI Snippet Manager - Simple command-line snippet manager, written in Go (opens in a new tab)
- Redo - the ultimate tool to create reusable functions from your history in an interactive way (opens in a new tab)
- ricecake: The lightweight framework for building CLI applications in Go. Zero dependencies (opens in a new tab)
- trdsql: CLI tool that can execute SQL queries on CSV, LTSV, JSON and TBLN. Can output to various formats (opens in a new tab)
Library GUI
- Building Modern Desktop Apps with Go and HTML5 (opens in a new tab)
- The beauty of Go for building cross-platform graphical applications - YouTube (opens in a new tab) Enlightenment, EFL, Maven and Fyne
- fyne - Cross platform GUI in Go based on Material Design (opens in a new tab)
- Gio - immediate mode GUI in Go (opens in a new tab)
- lorca: Build cross-platform modern desktop apps in Go + HTML5 (opens in a new tab)
- wails: Create desktop apps using Go and Web Technologies (opens in a new tab)
Library logging
- Concurrent Logging - in Golang (opens in a new tab)
- You’re doing Application Logging Wrong | by Jim T Dev | Medium (opens in a new tab)
- Don't trust your logs! Implementing a Merkle tree for an Immutable Verifiable Log (in Go) (opens in a new tab)
- glog - Let’s talk about logging (opens in a new tab)
- Zap Structured Logging in Golang with Zap - Powerful Logging (opens in a new tab)
Library Microservice
- Build MicroServices in Golang (opens in a new tab)
- Building Microservices in Go Series' Articles - DEV Community (opens in a new tab)
- Building Microservices in Go: Caching using memcached - DEV Community (opens in a new tab)
- Building Microservices in Go: Domain Driven Design and Project Layout - DEV Community (opens in a new tab)
- Building Microservices in Go: Repository Pattern - DEV Community (opens in a new tab)
- Building Microservices in Go: Services in Domain Driven Design - DEV Community (opens in a new tab)
- Building Microservices in Go: REST APIs: Implementing and Dealing with errors - DEV Community (opens in a new tab)
- Microservices in Go – Hello World! (opens in a new tab)
- Microservices in Go – Part 2 – Hello World! (opens in a new tab)
- Microservices in Go – Part 3 : Basic Authentication – Hello World! (opens in a new tab)
- Microservices in Go – Part IV Docker and Go Microservices – Hello World! (opens in a new tab)
- Microservices in Go – Part V: HTTPS Server in Go – Hello World! (opens in a new tab)
- Microservices in Go Part – VI: Go Client to HTTPS Server – Hello World! (opens in a new tab)
- Microservices in Go Part – VII: CI using GitHub Actions – Hello World! (opens in a new tab)
- Microservices in Go: Part – VIII: Deploy to Azure using ACR & App Service – Hello World! (opens in a new tab)
- Building Containerized Microservices in Golang: Dockerize and Deploy to Kubernetes using Helm - YouTube (opens in a new tab)
- Docker-Go-Simple-Microservice (opens in a new tab)
- go-doudou Home | go-doudou (opens in a new tab)
- Go kit - A toolkit for microservices (opens in a new tab)
- Go Micro - a framework for microservice development (opens in a new tab)
Library MySQL
- Three bugs in the Go MySQL Driver (opens in a new tab)
- Connecting to MySQL and Creating a Database | Go (Golang) MySQL Tutorial (opens in a new tab)
- golang Mysql multi-line insert speed issue - Sean - Medium (opens in a new tab)
- The reason why I used Golang, which I am not familiar with, instead of C++ or C# for MySQL test program | by Sean | May 2021 | Medium (opens in a new tab)
- Golang With MySQL (opens in a new tab)
- Golang Project | Build an Entire CRUD API using MYSQL and Golang (opens in a new tab)
- dalga - MySQL backed Job Scheduler with a HTTP interface https://godoc.org/github.com/cenkalti/dalga/dalga (opens in a new tab)
Library PostgreSQL
- Golang Connecting to Database Postgresql | Golang Postgresql Tutorial - YouTube (opens in a new tab)
- A practical introduction to PostgreSQL in Go (Golang) (opens in a new tab)
- How to Work With SQL Database In Golang (Fetch, Insert & Paginate Records) (opens in a new tab)
- Go-PostgreSQL-Database-Migration (opens in a new tab)
- pgx: PostgreSQL driver and toolkit for Go (opens in a new tab)
Machine Learning
- Why we’re writing machine learning infrastructure in Go, not Python (opens in a new tab)
- Real-time Machine Learning in Go (opens in a new tab)
- dotGo 2017 - Francesc Campoy Flores - Machine Learning and Go (opens in a new tab)
- Gorse - Open Source Recommender System (opens in a new tab)
Memory
- Manual Memory Management in Go (opens in a new tab)
- A visual guide to Go Memory Allocator from scratch (Golang) (opens in a new tab)
- Go memory ballast: How I learned to stop worrying and love the heap (opens in a new tab)
- Memory Optimizations for Go Systems | by Nishant Roy | The Startup | Sep, 2020 | Medium (opens in a new tab)
- research!rsc: Hardware Memory Models (Memory Models, Part 1) (opens in a new tab)
- research!rsc: Programming Language Memory Models (Memory Models, Part 2) (opens in a new tab)
- research!rsc: Updating the Go Memory Model (Memory Models, Part 3) (opens in a new tab)
- About GC in Go language - (opens in a new tab) as of LINE ENGINEERING 1.10
- Golang GC tuning guide - tech.kakao.com (opens in a new tab)
- Avoiding Memory Leak in Golang API | Hacker Noon (opens in a new tab)
- Golang Long Time Performance Test - Memory Leak 해결 과정 (opens in a new tab)
- **Golang Memory Management — ** (opens in a new tab) 1.16 기준
- How We Saved 70K Cores Across 30 Mission-Critical Services (Large-cale, Semi-Automated Go GC Tuning @Uber) (opens in a new tab)
Monitoring
- Monitoring microservices with Synthetic Transactions in Go (opens in a new tab)
- Monitor docker containers to get real time CPU/Memory (opens in a new tab)
- How We Created a Realtime Patient Monitoring System With Go and Vue in 3 days (opens in a new tab)
- gatus: Automated service health dashboard (opens in a new tab)
- Kapacitor - Open source framework for processing, monitoring, and alerting on time series data (opens in a new tab)
- rtop - Remote Server Monitoring over SSH (opens in a new tab)
Profile
- An Exercise in Profiling a Go Program (opens in a new tab)
- Solve Go Performance Issues by Profiling | by Patrick Gopher | The Startup | Medium (opens in a new tab)
- Go Performance Tools Cheat Sheet (opens in a new tab)
- Profiling Go Applications in the Right Way with Examples | by Abdulsamet İLERİ | Sep, 2023 | Stackademic (opens in a new tab)
- An article explaining how to profile a Go application.
go test -bench=.
Explains how to use the commandgo tool pprof
Explains how to profile CPU and memory with- For profiling CPU and memory at runtime
runtime/pprof
How to use and what is available on the webnet/http/pprof
introduction
- Profiling App: How Your Go Applications Can Be Better - YouTube (opens in a new tab)
- go-profiler-notes/block.md at main · DataDog/go-profiler-notes (opens in a new tab)
- pprof
- pprof++: A Go Profiler with Hardware Performance Monitoring | Uber Engineering Blog (opens in a new tab)
Rust
- Golang vs Rust performance benchmarking story (opens in a new tab)
- Why Go and not Rust? (opens in a new tab)
- A Rust Contributor Tries Their Hand at Go (opens in a new tab)
- Rust + Go (opens in a new tab)
- Why Go and Rust are not competitors (opens in a new tab)
- Go and Rust — objects without class (opens in a new tab)
- Early Impressions of Go From a Rust Programmer (opens in a new tab)
- Go vs Rust: Writing a CLI tool | by Paulo Cuchi @ Magrathea | Magrathea (opens in a new tab)
- Early Impressions of Go From a Rust Programmer | by PingCAP | Better Programming | Medium (opens in a new tab)
- How writing in Rust made me a better Go developer | by Nimrod Shneor | Medium (opens in a new tab)
TDD, Test
- Go Testing + Docker (opens in a new tab)
- Go TDD (opens in a new tab)
- How to mock? Go Way (opens in a new tab)
- Unit Testing Using Mocking in Go - Priyanshu Gautam - Medium (opens in a new tab)
- Writing flexible and testable Go code - Carrot Market team blog | by Marco | Carrot Market Team Blog (opens in a new tab)
- Golang interfaces and unit testing | Popit (opens in a new tab)
- Golang test coverage measurement and code static analysis and SonarQube | Popit (opens in a new tab)
- Unit Testing RESTful APIs | TDD | Golang with Docker - YouTube (opens in a new tab)
- Internals of Go's new fuzzing system — jayconrod.com (opens in a new tab)
- Unit Testing A Golang Application That Includes HTTP (opens in a new tab)
- Testing and benchmarking a Go(Golang) app - YouTube (opens in a new tab)
- Testing Code in Go Language for Beginners (opens in a new tab)
- Scenario Test: Increase confidence and productivity by automating acceptance tests (GopherCon 2023 presentation) (opens in a new tab)
- go-fuzz: randomized testing for Go (opens in a new tab)
- go-testing-mocks: This project is for learning about mocking external services calls (opens in a new tab)
- gotestsum: 'go test' runner with output optimized for humans, JUnit XML for CI integration, and a summary of the test results (opens in a new tab)
- MartianProxy is a proxy designed for use in E2E testing (opens in a new tab)
- TableDrivenTests · grow/go to Wiki (opens in a new tab)
- testcontainers-go: Testcontainers is a Golang library that providing a friendly API to run Docker container. It is designed to create runtime environment to use during your automatic tests (opens in a new tab)
- testing/quick: Blackbox Testing in Go for Fun and Profit (opens in a new tab)
Tutorial
- A Tour of Go (opens in a new tab)
- Ultimate Go study guide (opens in a new tab)
- Learning Go — from zero to hero. Let’s start with a small introduction… | by Milap Neupane | freeCodeCamp.org | Medium (opens in a new tab)
- What Makes Go So Different?. Go is currently one of the most… | by Timothy Yalugin | Better Programming | Nov, 2020 | Medium (opens in a new tab)
- Learn Go in ~5mins (opens in a new tab)
- GO - SLiPP 스터디 - SLiPP::위키 (opens in a new tab)
- Darker Corners of Go - Rytis Biel (opens in a new tab)
- The ecosystem of the Go programming language | Henrique Vicente (opens in a new tab)
- nomadCoders' Go language course scraper project (opens in a new tab)
- Tucker Programming - YouTube (opens in a new tab)
- Golang Tutorial for Beginners | Full Go Course - YouTube (opens in a new tab)
- Why learn Golang Programming Language in 2022? | by javinpaul | Javarevisited | Medium (opens in a new tab)
- Go language for Beginners - YouTube (opens in a new tab)
- Top 5 Free Courses to learn Golang for Beginners in 2022 - Best of Lot (opens in a new tab)
- 2022 - LEARN TO PROGRAM WITH GO FROM 0 - YouTube (opens in a new tab)
- Golang Basics Tutorial | Go Programming Language | Golang Tutorial for Beginners | Simplilearn - YouTube (opens in a new tab)
- Basic setup of #GO-Lang - YouTube (opens in a new tab)
- Learn Go Programming by Building 11 Projects – Full Course - YouTube (opens in a new tab)
- Learning golang basics - SLS - SLiPP::Wiki (opens in a new tab)
- Akhil Sharma - YouTube (opens in a new tab)
- Go code snippets - YouTube (opens in a new tab)
- Go (programming language) in pidgin tutorial for beginners- part 1 - YouTube (opens in a new tab)
- Go (programming language) in pidgin tutorial for beginners- part 2 - YouTube (opens in a new tab)
- Go (programming language) in pidgin tutorial for beginners- part 3 - YouTube (opens in a new tab)
- Learn Go Programming - Golang Tutorial for Beginners (opens in a new tab)
- Go Language Programming Practical Basics Tutorial (opens in a new tab)
- linux.conf.au 2015 tutorial on Building Services in Go (opens in a new tab)
- How to Effectively Recover from Panic in Go Applications (opens in a new tab)
- Golang Crash Course - YouTube (opens in a new tab)
- Golang - YouTube (opens in a new tab)
- GO Language - YouTube (opens in a new tab)
- Writing Your First Program with Go (opens in a new tab)
- Introduction to The Go Programming Language for Beginners (opens in a new tab)
- Get started with Go quickly and easily (opens in a new tab)
- Top 6 Golang Programming Courses for Beginners to Learn in 2022 UPDATED - Best of Lot | Java67 (opens in a new tab)
- Learning Go by examples Series' Articles - DEV Community (opens in a new tab)
- Learn GO Fast: Full Tutorial - YouTube (opens in a new tab)
- Learn Golang with Projects for Beginners (opens in a new tab)
- The Ultimate Go Study Guide (opens in a new tab)
Web
- Securing Go web applications (opens in a new tab)
- Rapid Web Development In Go (aka Intro Into Buffalo) (opens in a new tab)
- Writing a Frontend Web Framework with WebAssembly And Go (opens in a new tab)
- Go로 투두 웹 어플리케이션 만들기 (opens in a new tab)
- Build You Own Web Framework In Go (opens in a new tab)
- How I Structure Web Servers in Go (opens in a new tab)
- Deploy a Golang Web Application Behind Nginx (opens in a new tab)
- 7 Reasons Why Front End Developers Going Full Stack Should Choose Go | by Jeremy Morgan | Aug, 2020 | codeburst (opens in a new tab)
- go 언어로 웹서버 만들기 (opens in a new tab)
- Top Go Web Frameworks (opens in a new tab)
- 10 Potent Golang Frontend Frameworks in 2021 (opens in a new tab)
- How do I create a VPN tunnel between GCP and Azure? - YouTube (opens in a new tab)
- Displaying Movies By Genre | Creating a Web App Using Golang & Reactjs - YouTube (opens in a new tab)
- Zero downtime API in Golang. If we start a new application we should… | by Daniel Sedlak | Medium (opens in a new tab)
- Rest api with go | HandleFunc in go | Golang API tutorial - YouTube (opens in a new tab)
- Learn GO Fast: Building an API - YouTube (opens in a new tab)
- Creating a simple WebAPI in GoLang (opens in a new tab)
- Building a Go Web App from Scratch (opens in a new tab)
- Popular golang web framework | backend web framework in go - YouTube (opens in a new tab)
- Build a web scraper with Go - DEV Community (opens in a new tab)
- Proper HTTP shutdown in Go - DEV Community (opens in a new tab)
- Beego Framework An open source framework to build and develop your applications in the Go way (opens in a new tab)
- Buffalo – Rapid Web Development in Go (opens in a new tab)
- Caddy - The Ultimate Server with Automatic HTTPS (opens in a new tab)
- colly: Elegant Scraper and Crawler Framework for Golang (opens in a new tab)
- Echo - High performance, minimalist Go web framework (opens in a new tab)
- fiber: ⚡️ Express inspired web framework written in Go (opens in a new tab)
- 📖 Build a RESTful API on Go: Fiber, PostgreSQL, JWT and Swagger docs in isolated Docker containers - DEV Community (opens in a new tab)
- Building APIs in Go beyond Hello World | by Oliver Mascarenhas | Code Uncomplicated | Jan, 2022 | Medium (opens in a new tab)
- Build a REST API in Go using the web framework Fiber and the Golang (opens in a new tab)
- Building a Go REST API using Gorm and Fiber! (opens in a new tab)
- Adding Go Fiber Contribution backend storage drivers (opens in a new tab)
- Gin - a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin. https://gin-gonic.com (opens in a new tab)
- Using Gin, a web framework in Go language (opens in a new tab)
- Creating an Authentication API With Golang | by Emmy Chamberlain | Better Programming | Dec, 2020 | Medium (opens in a new tab)
- Testing a Go server using Apache JMeter (opens in a new tab)
- Crash course in Gin Framework - YouTube (opens in a new tab)
- Build RESTful API in Golang using Gin and Gorm (opens in a new tab)
- RESTful web service using Go and Gin (opens in a new tab)
- gin-air-docker-boilerplate: A containerised Gin app boilerplate, with a containerised development environment using Air and Docker Compose (opens in a new tab)
- gin-middleware-etag: Gin middleware/handler to enable HTTP Etag support (opens in a new tab)
- go-bootstrap Generates a lean and mean Go web project (opens in a new tab)
- golang-redis-webserver: web server using redis (opens in a new tab)
- goravel: A Golang framework for web artisans. Tribute to Laravel (opens in a new tab)
- Gorilla - a web toolkit for the Go programming language that provides useful, composable packages for writing HTTP-based applications (opens in a new tab)
- GoTTY - Share your terminal as a web application (opens in a new tab)
- HTTPin: The Future of HTTP Request Handling (opens in a new tab)
- mux: A powerful HTTP router and URL matcher for building Go web servers with 🦍 (opens in a new tab)
- password-service (opens in a new tab)
- pglet: Pglet - build internal web apps quickly in the language you already know! (opens in a new tab)
- Ran: a simple static web server written in Go (opens in a new tab)
- Revel - A high-productivity web framework for the Go language (opens in a new tab)
- Stout - a deploy tool for static websites (opens in a new tab)
- vugu.org - Build a web front-end in Go that runs in your browser, today (opens in a new tab)
- web-annie: Web interface for annie (opens in a new tab) golang + vue.js download manager
Web React
- Case study of building a WordPress reading service using React and Go
- React + Golang Web Application - YouTube (opens in a new tab)
Web Restful
- Build RESTful API in Go and MongoDB (opens in a new tab)
- REST Servers in Go: Part 1 - standard library - Eli Bendersky's website (opens in a new tab)
- Golang Rest API - Lazy Loading, Search & Sorting using MySQL (opens in a new tab)
- Build a Rest API with GoLang - YouTube (opens in a new tab)
- Golang — Consuming Rest API. Today we will see how we can consume… | by Rajkumar soni | Jul, 2022 | Medium (opens in a new tab)
- How to Build a REST API with the Go Programming Language (opens in a new tab)
- Golang, REST API CRUD con go (opens in a new tab)
- caffeine: A very basic REST service for JSON data - enough for prototyping and MVPs! (opens in a new tab)
- chi: lightweight, idiomatic and composable router for building Go HTTP services (opens in a new tab)
- REST API with Go, Chi and InMemory Store - DEV Community (opens in a new tab)
- REST API with Go, Chi, Postgres and sqlx - DEV Community (opens in a new tab)
- REST API with Go, Chi, MySQL and sqlx - DEV Community (opens in a new tab)
- REST API with Go, Chi, SQL Server and sqlx - DEV Community (opens in a new tab)
- REST API with Go, Chi and MongoDB - DEV Community (opens in a new tab)
- GolangMgoRestServer - golang + echo + mgo + rest server Example (opens in a new tab)
- notes: A REST API backend application that can be used to manage personal notes in a multi-user environment (opens in a new tab)
Websocket
- 10M Concurrent Websockets (opens in a new tab)
- A Million WebSockets and Go (opens in a new tab)
- Golang: Websocket masking과 cache poisoning (opens in a new tab)
- Golang: websocket handshake in gorilla/websocket (opens in a new tab)
- Golang: analysis of gorilla/websocket chatting example (opens in a new tab)
- Build a Realtime Chat App with Golang in 10 minutes (opens in a new tab)
- How to Build a Concurrent Chat App With Go and WebSockets (opens in a new tab)
- centrifugo - Real-time messaging (Websockets or SockJS) server in Go (opens in a new tab)
- go-websocket-chat-demo (opens in a new tab)
- melody - Minimalist websocket framework for Go (opens in a new tab)
- melody-jsnes - Multiplayer NES through the magic of WebSockets and Go (opens in a new tab)