Lời kết
Nếu bạn thực sự đã đọc kỹ cả phần cú pháp và phần nâng cao và đã tự tay gõ mã thì bạn sẽ nhận ra cú pháp của Go thực ra không khó các tính năng cũng không nhiều người có kinh nghiệm phong phú có thể thành thạo trong vài ngày nó hoàn toàn là một ngôn ngữ hướng đến kỹ thuật điểm này bạn sẽ từ từ cảm nhận được trong quá trình mã hóa sau này. Nếu bạn học xong cảm thấy không có chỗ để thi triển muốn học sâu hơn tôi có thể đưa ra vài lộ trình học tập và dự án ví dụ dưới đây để tham khảo.
Phát triển Web
Phát triển Web là một trong những tình huống ứng dụng phổ biến của ngôn ngữ Go bạn có thể thử vài framework Web mã nguồn mở sau
Nếu bạn muốn phát triển microservice tôi khuyến nghị vài framework mã nguồn mở sau
Sau đó bạn cần tương tác với cơ sở dữ liệu tôi khuyến nghị vài thư viện mã nguồn mở sau
Bạn có thể tham khảo những dự án dưới đây để học tập
- gin vue admin
- go-zero-looklook
- gin-admin dự án Web đơn thể tôi khá khuyến nghị tham khảo dự án này để học tập
- go-platform dự án microservice tôi khuyến nghị tham khảo dự án này để học tập
Truyền thông IM
Sử dụng Go để phát triển IM khuyến nghị những dự án mã nguồn mở sau
Lập trình mạng
Go cũng có rất nhiều ứng dụng trong lĩnh vực lập trình mạng dưới đây đưa ra vài dự án tham khảo
Máy chủ game
Trong lĩnh vực máy chủ game ngày càng có nhiều doanh nghiệp chuyển sang hướng Go
Phát triển cơ sở dữ liệu
Phát triển cơ sở dữ liệu cần có nền tảng kỹ thuật nhất định cơ sở dữ liệu hoặc engine dựa trên ngôn ngữ Go cũng không ít chỉ đọc mã nguồn của chúng cũng cần tốn không ít thời gian
- badger cơ sở dữ liệu kv tốc độ cao
- dgraph cơ sở dữ liệu đồ thị
- cayley cơ sở dữ liệu đồ thị
- etcd cơ sở dữ liệu key-value phân tán
- rosedb cơ sở dữ liệu key-value lựa chọn tốt nhất để nhập môn
- nutsdb cơ sở dữ liệu key-value
- prometheus cơ sở dữ liệu chuỗi thời gian
- tidb cơ sở dữ liệu chuỗi thời gian
- cockroach cơ sở dữ liệu SQL phân tán
- rqlite cơ sở dữ liệu phân tán dựa trên SQLite
Công cụ dòng lệnh
Go rất phù hợp để phát triển công cụ CLI dòng lệnh dưới đây khuyến nghị vài framework hoặc thư viện phát triển dòng lệnh
- flag thư viện chuẩn flag
- cobra khuyến nghị mạnh mẽ sử dụng cobra để phát triển CLI có rất nhiều dự án nổi tiếng đều dựa trên cobra ví dụ như Docker K8S v.v.
- go-pretty dùng để xuất ra đẹp mắt trong dòng lệnh
- cli framework dòng lệnh nhẹ
- kingpin thư viện phân tích dòng lệnh mạnh mẽ linh hoạt
Do cobra rất thông dụng có rất nhiều dự án phát triển dựa trên nó dưới đây chỉ là vài dự án tham khảo
Trên đây chỉ liệt kê những lĩnh vực phổ biến bạn có thể thấy Go được ứng dụng rộng rãi trong lĩnh vực máy chủ còn máy chủ khách thì ít hơn thực ra Go cũng có không ít ứng dụng trong các lĩnh vực khác như webrtc blockchain lưu trữ đối tượng điện toán đám mây v.v. nếu quan tâm có thể tự tìm hiểu trên Github.
Cuối cùng nếu bạn muốn hiểu sâu hơn về chi tiết thực hiện của ngôn ngữ Go ví dụ như cấu trúc dữ liệu底层 của slice và map thực hiện bộ lập lịch goroutine quá trình GC thu hồi bộ nhớ v.v. đến chương Nguyên lý thực hiện để biết thêm nội dung.
