Menu
CoddyTech
Lộ trình học

Lộ trình lập trình viên Go (Golang)

Những gì cần học, theo đúng thứ tự, để làm lập trình viên Go: ngôn ngữ Go cho đến interface, generic, goroutine và channel, dòng lệnh, Git và SQL, rồi cấu trúc dữ liệu và thuật toán mà phỏng vấn kiểm tra, và cách viết code mà cả nhóm bảo trì được. Đây là nền tảng cho công việc dịch vụ backend và hạ tầng cloud. Miễn phí, thực hành ngay trên trình duyệt.

222,225+ người học code đã đăng ký các khóa học này

664 bài học680 thử thách3,164 câu hỏi trắc nghiệm

Lộ trình lập trình viên Go, từng bước một

17 khóa học6 phần664 bài học680 thử thách3,164 câu hỏi trắc nghiệm

Mỗi bước gồm các khóa học có sẵn trên Coddy, và mọi nút Bắt đầu đều mở chúng bằng Go. Học theo thứ tự, hoặc bắt đầu từ bước bạn còn thiếu; tiến độ được lưu riêng cho từng khóa học.

  1. 1
    Bắt đầu bước nàyBắt đầuBa phần. Fundamentals dạy kiểu dữ liệu, luồng điều khiển, hàm, con trỏ, mảng, slice, map, struct và lỗi; Logic & Flow dạy phương thức, interface, bọc lỗi, panic và recover, package và thời gian; phần Object Oriented Programming dạy điều đó nghĩa là gì khi không có lớp (struct, phương thức, interface ngầm định, embedding), rồi generic, goroutine, channel và select, io.Reader và encoding/json, và design pattern. Điều bất ngờ đầu tiên của Go là cú pháp ít đến mức nào, điều thứ hai là lỗi là giá trị bạn kiểm tra sau mỗi lời gọi; hãy học cả hai cho vững, vì Go đúng phong cách là điều mà review code Go đòi hỏi.Bắt đầuTrang riêng
  2. 2
    Bắt đầu bước nàyBắt đầuTệp và đường dẫn, ký tự đại diện, grep, pipe và chuyển hướng, quyền truy cập, biến môi trường và shell script. Lệnh go là một công cụ terminal (go build, go test, go mod tidy), dịch vụ Go chạy trong container Linux, và nhiều chương trình Go bản thân chính là công cụ dòng lệnh. Biến môi trường làm việc thật ở đây: đặt GOOS và GOARCH là cách một chiếc laptop biên dịch chéo ra file chạy cho nền tảng khác.Bắt đầuTrang riêng
  3. 3
    Bắt đầu bước nàyBắt đầuStaging, commit, .gitignore, nhánh, merge và xung đột, hoàn tác sai lầm và remote. Go dựa vào Git nhiều hơn hầu hết các ngôn ngữ: đường dẫn import của một module thường là địa chỉ repository của nó, và các phiên bản module như v1.2.0 là tag Git. Hiểu commit và remote hoạt động ra sao là điều khiến go get hết còn là phép màu.Bắt đầuTrang riêng
  4. 4
    Bắt đầu bước nàyBắt đầuLọc, sắp xếp, join, nhóm, hàm tổng hợp, truy vấn con, mệnh đề WITH và window function, trên các bảng thật. Văn hóa Go thiên về viết SQL bằng tay: database/sql của thư viện chuẩn chạy những truy vấn bạn viết, và các công cụ như sqlc sinh code Go từ tệp SQL thuần, nên giữa bạn và cơ sở dữ liệu thường không có ORM nào.Bắt đầuTrang riêng
  5. 5
    Bắt đầu bước nàyBắt đầuStack, queue, danh sách liên kết, cây nhị phân và bảng băm, mỗi cấu trúc đều được xây từ đầu bằng Go rồi đem ra giải bài tập. Go cố ý có rất ít cấu trúc dựng sẵn: một slice làm stack, một map là bảng băm, và các package container chỉ thêm danh sách liên kết đôi, ring và các hàm heap, nên một cây struct có trường con trỏ và kiểm tra nil là Go hết sức bình thường.Bắt đầu
  6. 6
    Bắt đầu bước nàyBắt đầuThử thách đệ quy, rồi bubble, selection, insertion, merge và quick sort bằng Go, các thuật toán sắp xếp được minh họa động trong công cụ trực quan hóa thuật toán của Coddy. Sau đó bạn sẽ đọc thư viện chuẩn theo cách khác: sort.Slice không ổn định còn sort.SliceStable thì ổn định, và slices.Sort dùng pattern-defeating quicksort. Merge sort cũng là bài tập đầu tiên rất tự nhiên để chia việc ra nhiều goroutine.Bắt đầu
  7. 7
    Bắt đầu bước nàyBắt đầuMột dự án hướng đối tượng xây từ đầu đến cuối và một kho bài tập lập trình, đều bằng Go. gofmt quyết định cách trình bày cho mọi lập trình viên Go, nên các buổi review dành thời gian cho những gì định dạng không sửa được: cách đặt tên, độ dài hàm và trách nhiệm nằm ở đâu.Bắt đầu
Bạn nhận được gì
Mọi thứ bạn sẽ dùng để học lập trình

Học qua thực hành

Viết code thật, truy vấn cơ sở dữ liệu, xây dựng trang web và làm chủ prompt AI. Các bài học tương tác bao quát mọi kỹ năng mà lập trình viên hiện đại cần.

playground.js
Trình chỉnh sửa code
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Test #1test Case Success icon
Test #2test Case Success icon
Test #3test Case Failure icon
Đầu vào
"Alex"
Đầu ra
"Hello, Coddy! Alex"

Xây dựng streak

Học đều đặn và nhìn tiến độ của bạn lớn dần! Theo dõi thói quen code mỗi ngày, bảo vệ streak bằng ngày đóng băng và nhận phần thưởng khi học mỗi ngày.

12 ngày streak

Quay lại ngày mai để giữ streak!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

Gấp đôi hoặc mất hết

Ngày 5/7

fire Freeze icon

Đóng băng streak

2 left

Code ở mọi nơi

Mang hành trình lập trình theo bên mình! Không cài đặt, không tải về: chỉ cần mở ra và bắt đầu code. Có trên iOS, Android và Web với đánh giá 4,9 sao.

Python
7Streak
250Điểm
5Năng lượng
Biến
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Right Done icon
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Left Done icon
journey Hex Active Base iconjourney Hex Active Shadow iconjourney Hex Active Top iconjourney Lesson Theory Challenge icon
Tiếp tục
journey Path Right icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson Theory Challenge icon
journey Path Left icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson All icon
Hành trình
Mục tiêu
Bảng xếp hạng
Hồ sơ
4.9
Ngôi saoNgôi saoNgôi saoNgôi saoNgôi sao
Đánh giá

Bạn không đơn độc

Thi đấu trên bảng xếp hạng toàn cầu, mời bạn bè để nhận phần thưởng và cùng nhau ăn mừng thành công. Học code cùng bạn bè vui hơn nhiều!

Giải đấu Challenger
Giải đấu ChallengerTop 7 được thăng hạng
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconVùng thăng hạngleaderboard Arrow Up icon

Mọi cách để học

Đọc, nghe, tự kiểm tra, hỏi AI hoặc tra cứu bất cứ điều gì bạn đã học. Mỗi bài học phù hợp với trình độ của bạn.

Giới thiệu về biến
Âm thanh

Biến là một vùng chứa có tên, lưu một giá trị mà bạn có thể dùng lại sau trong chương trình.

Trong Python, bạn tạo biến bằng cách viết tên, dấu bằng, rồi giá trị muốn lưu.

Giá trị có thể thay đổi theo thời gian. Gán lại tên đó chỉ đơn giản là trỏ nó tới một giá trị mới.

1xSarah

Nhận chứng nhận

Nhận chứng nhận cho mỗi khóa học bạn hoàn thành. Thêm vào hồ sơ LinkedIn và CV để cho nhà tuyển dụng thấy kỹ năng lập trình của bạn.

CoddyGiấy chứng nhận hoàn thành
Chứng nhận rằngNguyễn Văn Anđã hoàn thành xuất sắc
python iconPython cơ bản
Đã xác minh
NgàyTh1 2026
LinkedInThêm vào LinkedIn

Vì sao nên theo lộ trình Go này trên Coddy

  • Go là ngôn ngữ của hạ tầng cloud. Docker, Kubernetes, Terraform và Prometheus được viết bằng Go, cùng rất nhiều dịch vụ backend và công cụ dòng lệnh, nên việc làm Go tập trung ở các nhóm backend, platform và DevOps. Lộ trình này xây những gì các nhóm đó cần ở bạn ngay từ ngày đầu.
  • Lập trình đồng thời nằm trong khóa học, không phải phụ lục. Goroutine, channel, select, mutex và sync.WaitGroup được dạy ngay trong khóa học Go, cùng những thành ngữ giúp code Go dễ review: embedding thay cho kế thừa, lỗi được bọc và kiểm tra, interface nhỏ. Khóa học kết thúc bằng một dự án thư viện lưu dữ liệu dưới dạng JSON.
  • Luyện phỏng vấn bằng Go. Stack, queue, danh sách liên kết, cây nhị phân và bảng băm, các thử thách đệ quy và năm thuật toán sắp xếp đều được dạy bằng Go, nên bạn luyện tập bằng đúng ngôn ngữ mình muốn được tuyển.
  • Có chấm điểm, có gợi ý, không cần cài đặt. Mỗi bài học khép lại bằng một thử thách Go được chấm bằng test case; khi một test case không qua, Bugsy chỉ ra chỗ có vấn đề, kể cả bug của goroutine, mà không viết luôn lời giải. Phần lớn khóa học kết thúc bằng một chứng nhận miễn phí, và bạn không cần cài bộ công cụ Go: mọi thứ đều chạy trên trình duyệt.

Câu hỏi thường gặp về việc trở thành lập trình viên Go

Mất bao lâu để trở thành lập trình viên Go?

Từ con số 0, mất sáu đến mười hai tháng, mỗi ngày khoảng một giờ, để đến được buổi phỏng vấn junior; nếu đã biết một ngôn ngữ khác thì ít hơn nhiều, vì Go nhỏ gọn. Trên lộ trình này, khóa học Go mất tám đến mười tuần, dòng lệnh, Git và SQL tổng cộng khoảng một tháng, còn các bước cấu trúc dữ liệu và sắp xếp thêm hai tháng. Sau đó, hãy tự xây một dịch vụ nhỏ với net/http và một cơ sở dữ liệu, đúng loại việc mà các nhóm Go tuyển người để làm.

Go có phải ngôn ngữ đầu tiên tốt cho kỹ sư phần mềm không?

Có. Ngôn ngữ đủ nhỏ để học trọn vẹn, gofmt và trình biên dịch loại bỏ cả một loạt lỗi của người mới lẫn tranh cãi về phong cách, và lỗi là những giá trị bình thường bạn bắt buộc phải kiểm tra, nhờ đó hình thành thói quen cẩn thận. Đổi lại, tài liệu cho người mới ít hơn Python hay JavaScript, và thị trường việc làm tập trung ở các vị trí backend và hạ tầng.

Ngoài Go, lập trình viên Go cần biết những gì?

Dòng lệnh, Git và SQL, những thứ lộ trình này dạy, rồi đến môi trường mà Go chạy trong đó: HTTP và JSON API, Docker và Kubernetes, một cơ sở dữ liệu quan hệ, và cách quan sát một dịch vụ đang chạy qua log, metric và profile. Thư viện chuẩn của Go đã lo phần lớn tầng web, nên bước tiếp theo sau lộ trình này thường là net/http và một dịch vụ thật chứ không phải một framework đồ sộ.

Go có lớp và lập trình hướng đối tượng không?

Không có lớp và không có kế thừa, nhưng có những thứ mà code hướng đối tượng hướng tới: struct có phương thức, interface mà một kiểu thỏa mãn mà không cần khai báo, và embedding để tái sử dụng hành vi. Phần Object Oriented Programming của khóa học Go dạy đúng điều đó, ưu tiên composition hơn kế thừa, cũng là cách code Go được tổ chức khi đi làm.

Khóa học nào trên lộ trình này không dạy bằng Go?

Chỉ một: clean code hiện mới được dạy bằng Python, nên khóa học này được liệt kê sau các bước thay vì ở bước bảy. Go giải quyết hầu hết câu hỏi về phong cách bằng gofmt, nên phần còn lại chính là những gì khóa học đó dạy: cách đặt tên, độ dài hàm và trách nhiệm nằm ở đâu. Một câu châm ngôn của Go nói thẳng điều này: rõ ràng tốt hơn khôn khéo. Mọi bước khác, kể cả dự án hướng đối tượng và bài tập lập trình, đều bằng Go.

Lộ trình Go này có miễn phí không?

Có. Mọi khóa học trên lộ trình đều miễn phí: bài học, trình soạn thảo Go và terminal Linux trên trình duyệt, các thử thách chấm bằng test, gợi ý của Bugsy và chứng nhận. Pro bỏ giới hạn năng lượng hằng ngày và thêm trợ giúp AI không giới hạn, và lộ trình này không đòi hỏi gói đó.

Tôi có nhận được chứng nhận cho lộ trình Kỹ sư phần mềm không?

Có. Hoàn thành mọi bước và bạn nhận một chứng nhận miễn phí cho cả lộ trình Kỹ sư phần mềm. Chứng nhận liệt kê từng khóa học bạn đã hoàn thành trên đường đi và liên kết đến chứng nhận riêng của từng khóa, để ai cũng có thể kiểm tra mọi kỹ năng được nêu. Bạn có thể thêm nó vào hồ sơ LinkedIn. Đây là chứng nhận hoàn thành của Coddy, không phải văn bằng được kiểm định.

Các lộ trình học khác

Cùng các khóa học, sắp xếp cho một vai trò khác. Tiến độ được giữ lại: khóa học đã hoàn thành ở một lộ trình được tính ở mọi lộ trình có khóa học đó.

Tất cả lộ trình học
Hình minh họa các ngôn ngữ lập trình của Coddy

Bắt đầu lộ trình Kỹ sư phần mềm miễn phí

Bắt đầu học