anh lam web image

Cách Sử Dụng Go Modules

Giới thiệu về Go Mod

Để quản lý các modules trong Go một cách tiện lợi và dễ dàng hơn, từ phiên bản Go 1.11 đội ngũ Go đã cho ra mắt Go Modules.

Chúng ta có thể sử dụng Go Modules, gọi tắt là Go Mod để install các gói module một cách tự động khi chúng ta thực hiện thực thi chương trình.

Nếu không có Go Modules thì anh em có nhớ mỗi lần clone project về để tham khảo là phải sử dụng lệnh “go get” để tải thư viện, rất chi là mất thời gian luôn, nếu project ít thư viện thì không nói, project mà sử dụng nhiều module thư viện thì tải về bằng “go get” sẽ rất là nản.

Sử dụng Go Mod

Anh em có thể tải code tham khảo và thực hành với project Go ở đường link sau đây: Github

Project trên mình xây dựng trong GOPATH với link hướng dẫn chi tiết tại: https://anhlamweb.com/bai-viet-70/xay-dung-rest-api-co-ban-trong-golang.html

Và giờ từ project đó mình sẽ chuyển qua dùng Go Modules để quản lý các module thư viện dễ dàng hơn nha.

Anh em có thể để ý, sau khi clone project về với đường link Git ở trên thì có 2 file go.mod và go.sum.

go.mod : Định nghĩa đường dẫn của các module.

go.sum: Để lưu vết version của thư viện mà project đang sử dụng.

Anh em nhớ check lại version go mà mình đang sử dụng nhé, nếu Go 1.11 trở lên thì mới có Go Modules nhé.

Với việc sử dụng Go mod, đường dẫn tới project phải nằm ngoài thư mục src của GOPATH hoặc anh em có thể xóa biến môi trường của GOPATH đi luôn cũng được.

Bước 1: sau khi clone project về nếu anh em muốn chạy ngay chương trình thì cứ việc chạy lệnh go run main.go là được, go mod sẽ tự động tải các gói module về cho anh em luôn.

Bước 2: Bước này anh em muốn tự tay mình biểu diễn kỹ thuật, thì hãy xóa go.modgo.sum đi sau đó chạy lệnh:

go mod init

Sau khi chạy lệnh trên thì file go.mod được khởi tạo.

Nội dung trong file go.mod

module github.com/PhongVX/golang-rest-api

go 1.12

require github.com/gorilla/mux v1.7.3 // indirect

Bước 3: Chạy chương trình và tự động tải các module bằng lệnh:

go run main.go

Sau khi chạy chương trình thì go.sum sẽ được tạo ra, lưu vết version của các module sử dụng trong project.

Nội dung trong file go.sum

github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw=

github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=

Sau khi ứng dụng đã chạy, anh em có thể tham khảo bài viết này https://anhlamweb.com/bai-viet-70/xay-dung-rest-api-co-ban-trong-golang.html để test lại các API nhé. Chúc anh em thành công.