---
title: "Hướng dẫn setup môi trường lập trình Golang với Visual Studio Code"
description: "Hướng dẫn cụ thể setup môi trường để lập trình Golang trên Visual Studio Code"
canonical: "https://200lab.io/blog/huong-dan-setup-moi-truong-lap-trinh-golang"
published: "2023-06-13T03:15:00Z"
updated: "2026-08-21T07:17:38Z"
authors: ["Việt Trần"]
tags: ["Golang"]
reading_minutes: 5
access: "public"
---

Nếu các bạn là người mới, chỉ tò mò về [Golang](</blog/golang-la-gi>) và muốn thử nghiệm một vài dòng lệnh cơ bản thì **Golang** đã có sẵn một công cụ online tại [đây](<https://go.dev/tour/welcome/1>).

Tuy nhiên việc lập trình Golang trên máy tính cá nhân thì sẽ yêu cầu một vài thiết lập. Mọi thứ cũng đơn giản thôi và ta cùng bắt đầu nhé.

## Hướng dẫn setup môi trường lập trình Golang với Visual Studio Code

### Cài đặt Golang Compiler

Vì Golang là ngôn ngữ lập trình phải được biên dịch (compile) thành mã máy để thực thi. Vì thế việc cài đặt compiler cho nó là bắt buộc. Gói cài đặt này còn bao gồm cả SDK, các thư viện gốc, các câu lệnh cần thiết để thiết lập môi trường lập trình Golang.

Để cài đặt Golang thì các bạn cần truy cập vào: [https://go.dev/dl/](<https://go.dev/dl>) và chọn gói cài đặt tương thích với hệ điều hành máy tính của các bạn. Ví dụ mình đang dùng máy **Mac** nên sẽ chọn gói install cho **MacOS**.

Tại thời điểm bài viết này thì Golang đang có version **1.18.2**. Mình khuyến khích các bạn cũng nên dùng từ version **1.18** trở lên vì có rất nhiều thay đổi và cải tiến, một trong số đó là [Generics.](</blog/generics-trong-golang>)

### Lựa chọn và cài đặt text editor cho Golang

Để lập trình Golang, các bạn có thể sử dụng bất kỳ một editor (trình soạn thảo văn bản) mà các bạn yêu thích. Chúng có thể là **Sublime Text**, **Vim**, **Visual Studio Code**, **GoLand**,...

Bản thân mình thực sự yêu thích [GoLand](<https://www.jetbrains.com/go>) vì nó thực sự rất mạnh và hỗ trợ được hầu hết các tác vụ để phát triển các service Golang. Đổi lại thì GoLand khá nặng và có phí duy trì: **199$/năm**. Các bạn nếu còn email sinh viên thì có thể sử dụng miễn phí editor này nhé.

Một lựa chọn editor phổ biến hơn đó là **Visual Studio Code**, hoàn toàn miễn phí và gọn nhẹ. Mình sẽ hướng dẫn các bạn dùng **Visual Studio Code **để code **Golang**:

1. Tải và cài đặt Visual Studio Code tại: [https://code.visualstudio.com/Download](<https://code.visualstudio.com/Download>)
2. Khởi động Visual Studio Code và chuyển đến tab **Extension**.
3. Tìm kiếm extension "**Go**" và chọn extension "Go" có dấu stick xanh "**Go Team at Google**". Sau đó bấm cài đặt extension này và khởi động lại editor.
4. Extension Go sẽ yêu cầu thêm một số tools bổ sung, các bạn hãy chọn cho phép cài đặt chúng khi có popup hỏi nhé.

![Tìm kiếm và cài đặt extension Go trên Visual Studio Code](https://assets.200lab.io/images/2024/12/05/huong-dan-setup-moi-truong-lap-trinh-golang-d3dcead1a4896aad345c.webp)

### Viết chương trình Golang đầu tiên với Visual Studio Code

- **Bước 1**: Tạo một thư mục để chứa source code Golang. VD: **first-golang-app**
- **Bước 2**: Khởi động Visual Studio Code và Open Folder bạn tạo ở bước 1.
- **Bước 3**: Tạo file mới trong folder này và đặt tên là "**main.go**"
- **Bước 4**: Copy và paste đoạn code dưới đây vào file main.go

```
package main

import "fmt"

func main() {
	fmt.Println("Hello world")
}

```

![Chương trình in ra chuỗi Hello Word kinh điển với Golang](https://assets.200lab.io/images/2024/12/05/huong-dan-setup-moi-truong-lap-trinh-golang-3-e5911e07e172580a2a55.webp)

Khả năng ở bước này các bạn sẽ bắt gặp một popup yêu cầu thêm một số tools bổ sung, các bạn hãy chọn cho phép cài đặt chúng nhé.  

Bởi vì chúng ta đang sử dụng Go v1.18.x nên việc tạo file Go Modules là bắt buộc. File này sẽ có tên là "go.mod" trong thư mục chứa code. Để tạo file này sẽ có 2 cách:

- **Cách 1**: Dùng Terminal của chính Visual Studio Code, gõ lệnh `go mod init first-app`
- **Cách 2**: Hoặc chỉ đơn giản là tạo file mới với nội dung như dưới đây:

![File go.mod](https://assets.200lab.io/images/2024/12/05/huong-dan-setup-moi-truong-lap-trinh-golang-2-eb5fae6efba88c4a1b7a.webp)

Trong đó **first-app** chỉ là tên tự đặt, các bạn có thể dùng tên khác nhé.

### Chạy thử chương trình Golang đầu tiên với Visual Studio Code

Có 2 cách để build và run code Golang: sử dụng công cụ Run của editor hoặc thông qua câu lệnh (Terminal).

#### Build và Run code Golang ngay trong Visual Studio Code:

1. Trong Visual Studio Code các bạn chuyển đến tab Run & Debug.
2. Bấm nút Run để editor tiến hành complie và chạy chương trình.

![Build và Run code Golang ngay trong Visual Studio Code](https://assets.200lab.io/images/2024/12/05/huong-dan-setup-moi-truong-lap-trinh-golang-4-10737d3c676351245b21.webp)

#### Run code Golang bằng câu lệnh Go Run

1. Sử dụng terminal (console) trong máy tính và chuyển con trỏ đường dẫn đến thư mục chứa code Golang.
2. Nhập lệnh `go run main.go`

![Build và Run code Golang bằng câu lệnh](https://assets.200lab.io/images/2024/12/05/huong-dan-setup-moi-truong-lap-trinh-golang-5-f8ea26c231807b4df8f7.webp)

Với cách này thực tế là lệnh Go cũng làm 2 bước: compile và run. Các bạn đừng hiểu nhầm là Go đang run code như script nha.

#### Compile code Golang ra file thực thi bằng câu lệnh Go Build

1. Sử dụng terminal (console) trong máy tính và chuyển con trỏ đường dẫn đến thư mục chứa code Golang.
2. Nhập lệnh `go build -o app` để compile code Golang thành file thực thi tên "app". Thực ra "-o app" là không bắt buộc, vì muốn chỉ định tên file nên mình thêm vào.
3. Chạy file với lệnh `./app` (hoặc double click vào file) huong-dan-setup-moi-truong-lap-trinh-golang.

![huong-dan-setup-moi-truong-lap-trinh-golang](https://assets.200lab.io/images/2024/12/05/huong-dan-setup-moi-truong-lap-trinh-golang-6-bf7d1d302ec6526ccf8a.webp)

## Lời kết

Hy vọng qua bài viết này các bạn đã có thể sử dụng được **Visual Studio Code** để lập trình **Golang. **

Nếu các bạn thực sự cảm thấy khó khăn trong việc tự học. Thậm chí đã làm được những service cơ bản nhưng vẫn chưa tự tin cho những phần nâng cao thì có thể tham khảo [khoá học Golang for Scalable Backend](<https://200lab.io/khoa-hoc/khoa-hoc-golang-food-delivery-backend>) tại **200Lab** nhé!

**Bài viết liên quan:**

- [Lập trình backend là gì?](</blog/backend-la-gi>) Tự học lập trình REST API với Golang
- [Lập trình REST API TODO List với Golang](</blog/lap-trinh-rest-api-todo-list-voi-golang>) - Từ UI tới triển khai
- [Golang Environment Variable](</blog/golang-environment-variable-bien-moi-truong-trong-golang>): Biến môi trường trong Golang
- [Ứng dụng Clean Architecture](</blog/ung-dung-clean-architecture-service-golang-rest-api>) cho service Golang REST API

## Đọc thêm

- [Design Pattern là gì? 23 Classic Design Pattern với Golang](https://200lab.io/blog/series-23-classic-design-pattern.md): Các video trong series 23 Classic Design Pattern with Golang sẽ cung cấp những góc nhìn và ứng dụng thực tế cho các bạn.
- [Concurrency pattern trong Go - Phần 2](https://200lab.io/blog/concurrency-pattern-trong-go.md): Ở phần này, chúng ta sẽ tìm hiểu tiếp 3 pattern quan trọng khác, bao gồm: or channel, xử lý lỗi và pipeline.
- [Concurrency pattern trong Golang - Phần 1](https://200lab.io/blog/concurrent-pattern-trong-golang.md): Trong lập trình Go, concurrency pattern là những kỹ thuật thiết kế giúp quản lý và tổ chức code cho các tác vụ chạy đồng thời, tận dụng tối đa khả năng xử lý đồng thời của hệ thống.
- [So sánh Golang và NodeJS chi tiết](https://200lab.io/blog/so-sanh-golang-vs-nodejs.md): Golang và NodeJS khác nhau như thế nào? Golang và Nodejs từ lâu đã trở thành chủ đề sôi nổi. Nodejs đã chiếm ưu thế trong một khoảng thời gian dài. Golang liệu có đủ sức thuyết phục để chuyển đổi?
- [Buffered Channel là gì? Thường xuyên hỏi trong phỏng vấn Golang Dev](https://200lab.io/blog/buffered-channel-la-gi-so-sanh-buffered-va-unbuffered-channel.md): Buffered Channel là một channel trong Golang có khả năng lưu trữ được dữ liệu bên trong nó. Khả năng này được gọi là sức chứa (capacity).
- [Mọi bài viết chủ đề Golang](https://200lab.io/blog/tags/golang.md)

Toàn bộ nội dung: https://200lab.io/llms.txt
