Go Routine là gì?
Là một trong những tính năng đặc biệt nhất của Golang để lập trình Concurrency cực kỳ đơn giản. Goroutine bản chất là các hàm (function) hay method được thực thi một các độc lập và đồng thời nhưng vẫn có thể kết nối với nhau. Một cách ngắn gọn, những thực thi đồng thời được gọi là Goroutines trong Go (Golang).
Cách khai báo một Goroutine
Trong Go, goroutine là một cơ chế để thực hiện các hàm hoặc đoạn mã đồng thời (concurrency). Để khai báo và chạy một goroutine, bạn chỉ cần thêm từ khóa go
trước lệnh gọi hàm. vd: go tenham()

- go printNumbers(): Hàm
printNumbers()
được thực thi trong một goroutine. Điều này cho phép nó chạy đồng thời với các phần khác của chương trình.
- time.Sleep(3 * time.Second): Vì goroutine chạy đồng thời, nếu không có đoạn này, chương trình chính sẽ kết thúc trước khi goroutine kịp hoàn thành. Do đó, ta tạm dừng
main()
trong 3 giây để chờ goroutine chạy xong, sau đó hàm fmt.Println
mới được in ra.
Bạn có thể sử dụng một hàm ẩn danh (anonymous function) để chạy trong goroutine:
Khi sử dụng một anonymous function với goroutine, bạn có thể khai báo và thực thi hàm ngay lập tức bên trong từ khóa go
, điều này rất tiện lợi để thực hiện các tác vụ nhanh mà không cần khai báo một hàm tách biệt.

Bài viết khác
So sánh giữa gorm vs go-pg vs bun
Trong thế giới phát triển Golang, việc tương tác với cơ sở dữ liệu là một phần không thể thiếu của hầu hết các ứng dụng. Để đơn giản hóa quy trình này, các thư viện ORM (Object-Relational Mapping) ra đời, giúp các nhà phát triển thao tác với database thông qua các đối tượng […]
So sánh GORM vs go-pg vs Bun
Cộng đồng GORM Là ORM phổ biến nhất trong cộng đồng Go. Có nhiều tài liệu, ví dụ, StackOverflow câu trả lời, và nhiều package hỗ trợ mở rộng. Nhiều developer đã từng dùng Gorm. go-pg Từng rất phổ biến khi chỉ dùng PostgreSQL, nhưng đang bị Bun thay thế dần. Ít được duy trì […]
clean architecture golang
1.Clean Architecture là gì? Clean Architecture là một kiến trúc phần mềm được đề xuất bởi Robert C. Martin (Uncle Bob) nhằm mục tiêu tách biệt rõ ràng giữa các tầng trong ứng dụng, giúp mã nguồn dễ bảo trì, mở rộng, và kiểm thử. 2.Tổng quan kiến trúc Entity (Domain Model): Là tầng […]
Tìm hiểu Hexagonal Architecture
Hexagonal Architecture là gì? Hexagonal Architecture (tên gọi khác là ports and adapters architecture), là một mẫu kiến trúc được dùng trong thiết kế phần mềm. Nó hướng tới việc xây dựng ứng dụng xoay quanh business/application logic mà không ảnh hưởng hoặc phụ thuộc bởi bất kì thành phần bên ngoài, mà chỉ giao […]
Sử dụng Request/Response trong ứng dụng RESTful mô hình MVC
DTO là gì? DTO (Data Transfer Object) là một object trung gian dùng để truyền dữ liệu giữa client – server hoặc giữa các service trong ứng dụng web/API theo kiến trúc RESTful API. DTO chỉ chứa các thông tin cần thiết mà client hoặc service khác cần (ví dụ: Login Form chỉ cần thông […]
Docker
Docker là gì? Docker là một nền tảng mã nguồn mở cho phép bạn đóng gói, phân phối và chạy ứng dụng bên trong các “container” – những môi trường ảo nhẹ, cô lập nhưng vẫn chia sẻ nhân hệ điều hành của máy chủ. Khái niệm then chốt ở đây là “containerization”: thay vì […]