Hướng Dẫn Cài Đặt Go và Thiết Lập Môi Trường Lập Trình Trên Windows 10

Cài Đặt Go và Thiết Lập Môi Trường Lập Trình Trên Windows 10

Go là một ngôn ngữ lập trình phát sinh từ sự thất vọng tại Google. Các nhà phát triển liên tục phải chọn một ngôn ngữ thực thi hiệu quả nhưng mất nhiều thời gian để biên dịch, hoặc chọn một ngôn ngữ dễ lập trình nhưng thực thi không hiệu quả trong sản xuất. Go được thiết kế để có cả ba yếu tố sẵn có cùng một lúc: biên dịch nhanh, dễ lập trình và thực thi hiệu quả trong sản xuất.

Mặc dù Go là một ngôn ngữ lập trình đa năng có thể được sử dụng cho nhiều dự án lập trình khác nhau, nhưng nó đặc biệt phù hợp cho các chương trình mạng/hệ thống phân tán, và đã kiếm được danh tiếng là “ngôn ngữ của đám mây”. Nó tập trung vào việc giúp lập trình viên hiện đại làm nhiều hơn với bộ công cụ mạnh mẽ, loại bỏ các tranh cãi về định dạng bằng cách làm cho định dạng trở thành một phần của đặc tả ngôn ngữ, cũng như làm cho việc triển khai trở nên dễ dàng bằng cách biên dịch thành một tệp nhị phân duy nhất. Go dễ học, với một tập hợp các từ khóa rất nhỏ, điều này khiến nó trở thành sự lựa chọn tuyệt vời cho cả người mới và các nhà phát triển dày dạn kinh nghiệm.

Nếu bạn muốn tối ưu hóa môi trường lập trình Go, việc mua VPS có thể là giải pháp lý tưởng để chạy các dự án ổn định và hiệu quả. Một VPS mạnh mẽ giúp bạn triển khai ứng dụng nhanh chóng, đảm bảo hiệu suất cao. Khám phá các gói VPS chất lượng tại danh mục dịch vụ của chúng tôi!

Hướng dẫn này sẽ hướng dẫn bạn cách cài đặt Go trên máy tính Windows 10 cục bộ của bạn và thiết lập môi trường lập trình qua dòng lệnh.

Điều kiện tiên quyết

Bạn sẽ cần một máy tính Windows 10 với quyền truy cập quản trị và được kết nối với internet.

Bước 1 – Mở và cấu hình PowerShell

Bạn sẽ hoàn tất phần lớn quá trình cài đặt và thiết lập trên giao diện dòng lệnh, đây là cách tương tác với máy tính theo dạng không đồ họa. Nói cách khác, thay vì nhấp chuột vào các nút, bạn sẽ gõ văn bản và nhận phản hồi từ máy tính thông qua văn bản. Dòng lệnh, còn được gọi là shell, có thể giúp bạn điều chỉnh và tự động hóa nhiều tác vụ hàng ngày trên máy tính, đồng thời là công cụ thiết yếu cho các nhà phát triển phần mềm.

PowerShell là một chương trình của Microsoft cung cấp giao diện shell dòng lệnh. Các tác vụ quản trị được thực hiện bằng cách chạy các cmdlet (phát âm là command-lets), là các lớp chuyên biệt của khung phần mềm .NET có khả năng thực hiện các thao tác. Ra mắt dưới dạng mã nguồn mở vào tháng 8 năm 2016, PowerShell hiện có sẵn trên nhiều nền tảng, bao gồm cả Windows và các hệ thống UNIX (bao gồm Mac và Linux).

Để tìm Windows PowerShell, bạn có thể nhấp chuột phải vào biểu tượng Start ở góc dưới bên trái màn hình. Khi menu xuất hiện, hãy chọn Tìm kiếm, sau đó gõ PowerShell vào thanh tìm kiếm. Khi các tùy chọn xuất hiện, nhấp chuột phải vào Windows PowerShell trong ứng dụng Desktop. Cho mục đích của hướng dẫn này, hãy chọn Chạy với quyền quản trị. Khi bạn được hỏi trong hộp thoại “Bạn có muốn cho phép ứng dụng này thực hiện thay đổi trên PC của bạn không?”, hãy nhấp vào Có.

Sau khi làm theo, bạn sẽ thấy một giao diện dựa trên văn bản với chuỗi từ như sau:

windows

Di chuyển ra khỏi thư mục hệ thống bằng cách gõ lệnh sau:

cd ~

Sau đó, bạn sẽ ở trong thư mục cá nhân, chẳng hạn như PS C:\Users\sammy.

Để tiếp tục quá trình cài đặt, trước tiên bạn phải thiết lập các quyền thông qua PowerShell. Được cấu hình chạy ở chế độ an toàn nhất theo mặc định, có một vài mức quyền mà bạn có thể thiết lập với tư cách là quản trị viên:

  • Restricted là chính sách thực thi mặc định. Ở chế độ này, bạn sẽ không thể chạy các script, và PowerShell sẽ chỉ hoạt động như một shell tương tác.
  • AllSigned sẽ cho phép bạn chạy tất cả các script và tệp cấu hình được ký bởi một nhà xuất bản đáng tin cậy, đồng nghĩa với việc có thể làm tăng nguy cơ chạy các script độc hại được ký bởi nhà xuất bản đáng tin cậy.
  • RemoteSigned sẽ cho phép bạn chạy các script và tệp cấu hình được tải xuống từ internet nếu chúng được ký bởi các nhà xuất bản đáng tin cậy, tuy nhiên vẫn có nguy cơ nếu các script đáng tin cậy đó thực sự mang tính chất độc hại.
  • Unrestricted sẽ chạy tất cả các script và tệp cấu hình tải xuống từ internet ngay khi bạn xác nhận rằng bạn hiểu tệp được tải xuống từ internet. Trong trường hợp này không yêu cầu chữ ký số, do đó bạn có thể mở máy của mình ra cho nguy cơ chạy các script không được ký và có khả năng độc hại.

Trong hướng dẫn này, bạn sẽ sử dụng chính sách thực thi RemoteSigned để thiết lập quyền cho người dùng hiện tại. Điều này sẽ cho phép PowerShell chấp nhận các script đáng tin cậy mà không mở rộng quyền như khi sử dụng chính sách Unrestricted. Nhập lệnh sau trong PowerShell:

Set-ExecutionPolicy -Scope CurrentUser

PowerShell sẽ nhắc bạn cung cấp một chính sách thực thi. Nhập chính sách sau để sử dụng RemoteSigned:

RemoteSigned

Sau khi nhấn ENTER, bạn sẽ được yêu cầu xác nhận thay đổi chính sách thực thi. Gõ chữ y để cho phép thay đổi có hiệu lực. Bạn có thể xác nhận rằng thay đổi đã thành công bằng cách yêu cầu danh sách các quyền hiện tại trên máy:

Get-ExecutionPolicy -List

Bạn sẽ nhận được đầu ra trông như sau:

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser    RemoteSigned
 LocalMachine       Undefined

Điều này xác nhận rằng người dùng hiện tại có thể chạy các script đáng tin cậy được tải xuống từ internet. Bạn có thể chuyển sang bước tải xuống các tệp cần thiết để thiết lập môi trường lập trình Go của chúng ta.

Bước 2 – Cài đặt trình quản lý gói Chocolatey

Một trình quản lý gói là tập hợp các công cụ phần mềm giúp tự động hóa quá trình cài đặt. Điều này bao gồm cài đặt ban đầu, nâng cấp và cấu hình phần mềm, cũng như gỡ bỏ phần mềm khi cần thiết. Chúng giữ các cài đặt phần mềm ở một vị trí trung tâm và có thể quản lý tất cả các gói phần mềm trên hệ thống dưới các định dạng được sử dụng phổ biến.
Chocolatey là một trình quản lý gói dòng lệnh được xây dựng cho Windows hoạt động tương tự như apt-get trên Linux. Có sẵn dưới dạng mã nguồn mở, Chocolatey sẽ giúp bạn cài đặt nhanh chóng các ứng dụng và công cụ. Bạn sẽ sử dụng nó để tải xuống những thứ cần thiết cho môi trường phát triển của mình.

Trước khi cài đặt script, hãy đọc qua nó để xác nhận rằng bạn hài lòng với những thay đổi mà nó sẽ thực hiện trên máy của bạn. Để làm điều này, hãy sử dụng khung scripting của .NET để tải và hiển thị script Chocolatey trong cửa sổ terminal.

Bắt đầu bằng cách tạo một đối tượng WebClient có tên là $script chia sẻ các thiết lập kết nối internet với Internet Explorer:

$script = New-Object Net.WebClient

Xem qua các tùy chọn có sẵn bằng cách chuyển đối tượng $script qua lớp Get-Member bằng cách sử dụng dấu |:

$script | Get-Member

Lệnh này sẽ trả về tất cả các thành viên (thuộc tính và phương thức) của đối tượng WebClient này:

 . . .
[secondary_label Snippet of Output]
DownloadFileAsync         Method     void DownloadFileAsync(uri address, string fileName), void DownloadFileAsync(ur...
DownloadFileTaskAsync     Method     System.Threading.Tasks.Task DownloadFileTaskAsync(string address, string fileNa...
DownloadString            Method     string DownloadString(string address), string DownloadString(uri address) #method we will use
DownloadStringAsync       Method     void DownloadStringAsync(uri address), void DownloadStringAsync(uri address, Sy...
DownloadStringTaskAsync   Method     System.Threading.Tasks.Task[string] DownloadStringTaskAsync(string address), Sy…
 . . .

Nhìn qua đầu ra, bạn có thể xác định phương thức DownloadString được sử dụng để hiển thị script và chữ ký trong cửa sổ PowerShell. Hãy sử dụng phương thức này để kiểm tra script:

$script.DownloadString("https://chocolatey.org/install.ps1")

Sau khi kiểm tra script, cài đặt Chocolatey bằng cách gõ lệnh sau vào PowerShell:

iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex

Cmdlet iwr, hay Invoke-WebRequest, cho phép bạn lấy dữ liệu từ web. Lệnh này sẽ chuyển script cho iex, hay Invoke-Expression cmdlet, thực thi nội dung của script và chạy quá trình cài đặt cho trình quản lý gói Chocolatey.

Hãy cho phép PowerShell cài đặt Chocolatey. Sau khi cài đặt hoàn tất, bạn có thể bắt đầu cài đặt các công cụ bổ sung với lệnh choco.

Nếu bạn cần nâng cấp Chocolatey bất cứ lúc nào trong tương lai, hãy chạy lệnh sau:

choco upgrade chocolatey

Với trình quản lý gói đã được cài đặt, bạn có thể cài đặt những thứ khác cần thiết cho môi trường lập trình Go.

Bước 3 – Cài đặt trình soạn thảo văn bản Nano (Tùy chọn)

Trong bước này, bạn sẽ cài đặt nano, một trình soạn thảo văn bản sử dụng giao diện dòng lệnh. Bạn có thể dùng nano để viết chương trình trực tiếp trong PowerShell. Đây không phải là bước bắt buộc, vì bạn cũng có thể sử dụng trình soạn thảo văn bản với giao diện đồ họa như Notepad. Hướng dẫn này khuyến nghị sử dụng nano vì nó sẽ giúp bạn quen với việc sử dụng PowerShell.

Sử dụng Chocolatey để cài đặt nano:

choco install -y nano

Tham số -y tự động xác nhận rằng bạn muốn chạy script mà không cần được nhắc xác nhận.

Sau khi cài đặt nano, bạn có thể sử dụng lệnh nano để tạo các tệp văn bản mới. Bạn sẽ sử dụng nó sau trong hướng dẫn này để viết chương trình Go đầu tiên của mình.

Bước 4 – Cài đặt Go

Chính như bạn đã cài đặt nano ở bước trước, bạn sẽ sử dụng Chocolatey để cài đặt Go:

choco install -y golang

Lưu ý: Vì từ “go” quá ngắn, nên thuật ngữ “golang” thường được sử dụng để cài đặt các gói và tìm kiếm các bài viết liên quan đến Go trên Internet. Thuật ngữ Golang ra đời từ tên miền của Go, đó là golang.org.

PowerShell sẽ cài đặt Go và hiển thị đầu ra trong PowerShell trong quá trình cài đặt. Khi cài đặt hoàn tất, bạn sẽ thấy đầu ra như sau:

Environment Vars (like PATH) have changed. Close/reopen your shell to
see the changes (or in powershell/cmd.exe just type `refreshenv`).
The install of golang was successful.
 Software installed as 'msi', install location is likely default.

Chocolatey installed 1/1 packages.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Sau khi cài đặt xong, bạn sẽ xác nhận rằng Go đã được cài đặt. Để xem các thay đổi, hãy đóng và mở lại PowerShell với quyền Quản trị, sau đó kiểm tra phiên bản Go có trên máy của bạn:

go version

Bạn sẽ nhận được đầu ra tương tự như sau:

go version go1.12.1 windows/amd643.7.0

Khi Go đã được cài đặt, bạn có thể thiết lập không gian làm việc cho các dự án phát triển của mình.

Bước 5 – Tạo không gian làm việc Go của bạn

Giờ bạn đã cài đặt Chocolatey, nano và Go, bạn có thể tạo không gian làm việc lập trình của mình.

Không gian làm việc Go sẽ chứa hai thư mục ở gốc:

  • src: Thư mục chứa các file nguồn của Go. File nguồn là những file bạn viết bằng ngôn ngữ lập trình Go. Các file nguồn được trình biên dịch Go sử dụng để tạo ra file nhị phân có thể thực thi.
  • bin: Thư mục chứa các file thực thi được biên dịch và cài đặt bởi các công cụ của Go. Các file thực thi là file nhị phân chạy trên hệ thống của bạn và thực hiện các tác vụ, thường là các chương trình được biên dịch từ mã nguồn của bạn hoặc từ các mã nguồn Go được tải xuống.

Thư mục con src có thể chứa nhiều kho lưu trữ kiểm soát phiên bản (như Git, Mercurial và Bazaar). Bạn sẽ thấy các thư mục như github.com hoặc golang.org khi chương trình của bạn nhập các thư viện bên thứ ba. Nếu bạn sử dụng một kho lưu trữ mã như github.com, bạn cũng sẽ đặt các dự án và file nguồn của mình dưới thư mục đó. Điều này cho phép việc nhập khẩu mã theo cách chuẩn mực trong dự án của bạn. Các import chuẩn mực là những import tham chiếu đến một gói đầy đủ, chẳng hạn như github.com/dataonline/godo.

Dưới đây là cấu trúc của một không gian làm việc điển hình:

.
├── bin
│   ├── buffalo                                      # command executable
│   ├── dlv                                          # command executable
│   └── packr                                        # command executable
└── src
    └── github.com
        └── dataonline
            └── godo
                ├── .git                            # Git repository metadata
                ├── account.go                      # package source
                ├── account_test.go                 # test source
                ├── ...
                ├── timestamp.go
                ├── timestamp_test.go
                └── util
                    ├── droplet.go
                    └── droplet_test.go

Thư mục mặc định cho không gian làm việc Go kể từ phiên bản 1.8 là thư mục go trong thư mục người dùng của bạn, tức là $HOME/go. Nếu bạn sử dụng phiên bản Go cũ hơn 1.8, vẫn được coi là thực hành tốt khi sử dụng vị trí $HOME/go cho không gian làm việc.

Gõ lệnh sau để chuyển đến thư mục $HOME:

cd $HOME

Tiếp theo, tạo cấu trúc thư mục cho không gian làm việc Go của bạn:

mkdir go/bin, go/src

Lệnh trên sẽ tạo cấu trúc thư mục sau:

└── $HOME
    └── go
        ├── bin
        └── src

Trước phiên bản Go 1.8, bạn cần thiết lập một biến môi trường cục bộ gọi là $GOPATH. Mặc dù hiện tại không bắt buộc phải làm điều đó, nhưng vẫn được coi là thực hành tốt vì nhiều công cụ bên thứ ba vẫn phụ thuộc vào biến này.

Vì bạn đã cài đặt Go bằng Chocolatey, biến môi trường này có thể đã được thiết lập. Bạn có thể xác nhận bằng lệnh sau:

$env:GOPATH

Bạn sẽ thấy đầu ra như sau, với tên người dùng của bạn thay cho sammy:

C:\Users\sammy\go

Khi Go biên dịch và cài đặt các công cụ, nó sẽ đặt chúng vào thư mục $GOPATH/bin. Vì tiện lợi, thông thường bạn nên thêm thư mục bin của không gian làm việc vào biến $PATH của bạn. Bạn có thể thực hiện điều này bằng lệnh setx trong PowerShell:

setx PATH "$($env:path);$GOPATH\bin"

Lệnh này sẽ cho phép bạn chạy bất kỳ chương trình nào mà bạn biên dịch hoặc tải xuống qua các công cụ của Go ở bất kỳ đâu trên hệ thống.

Giờ bạn đã tạo xong gốc của không gian làm việc và thiết lập biến môi trường $GOPATH, bạn sẽ tạo các dự án tương lai với cấu trúc thư mục sau. Ví dụ, giả sử bạn sử dụng github.com làm kho lưu trữ:

$GOPATH/src/github.com/username/project

Nếu bạn đang làm việc trên dự án https://github.com/dataonline/godo, bạn sẽ đặt nó trong thư mục sau:

$GOPATH/src/github.com/dataonline/godo

Việc cấu trúc các dự án theo cách này sẽ giúp các dự án có thể được truy cập bằng công cụ go get và cũng tăng cường khả năng đọc mã sau này.

Bạn có thể xác nhận điều này bằng cách sử dụng lệnh go get để tải thư viện godo:

go get github.com/dataonline/godo

Lưu ý: Nếu bạn chưa cài đặt git, Windows sẽ mở hộp thoại hỏi bạn có muốn cài đặt nó hay không. Hãy nhấp vào Có để tiếp tục và làm theo hướng dẫn cài đặt.

Bạn có thể kiểm tra việc tải thành công gói godo bằng cách liệt kê thư mục:

ls $env:GOPATH/src/github.com/dataonline/godo

Bạn sẽ nhận được đầu ra tương tự như sau:

    Directory: C:\Users\sammy\go\src\github.com\dataonline\godo


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        4/10/2019   2:59 PM                util
-a----        4/10/2019   2:59 PM              9 .gitignore
-a----        4/10/2019   2:59 PM             69 .travis.yml
-a----        4/10/2019   2:59 PM           1592 account.go
-a----        4/10/2019   2:59 PM           1679 account_test.go
-rw-r--r--  1 sammy  staff   2892 Apr  5 15:56 CHANGELOG.md
-rw-r--r--  1 sammy  staff   1851 Apr  5 15:56 CONTRIBUTING.md
.
.
.
-a----        4/10/2019   2:59 PM           5076 vpcs.go
-a----        4/10/2019   2:59 PM           4309 vpcs_test.go

Trong bước này, bạn đã tạo một không gian làm việc Go và cấu hình các biến môi trường cần thiết. Ở bước tiếp theo, bạn sẽ kiểm tra không gian làm việc với một số đoạn code.

Bước 6 – Tạo chương trình đơn giản

Giờ đây, khi bạn đã thiết lập không gian làm việc Go, hãy tạo một chương trình “Hello, World!” đơn giản. Điều này không chỉ kiểm tra cấu hình của không gian làm việc mà còn giúp bạn làm quen với ngôn ngữ Go theo cách sáng tạo và hấp dẫn. Vì bạn chỉ tạo một file nguồn Go đơn lẻ, chứ không phải là một dự án thực sự, nên không cần phải nằm trong không gian làm việc của bạn để thực hiện việc này.

Từ thư mục cá nhân, mở một trình soạn thảo văn bản dòng lệnh như nano và tạo một file mới:

nano hello.go

Khi file mở ra trong nano, hãy gõ chương trình của bạn theo nội dung dưới đây:

hello.go

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

Để thoát khỏi nano, nhấn tổ hợp phím CTRL + X. Khi được nhắc lưu file, hãy nhấn Y rồi nhấn ENTER.

Đoạn mã trên sử dụng package fmt và gọi hàm Println với đối số “Hello, World!”. Khi chạy chương trình, cụm từ “Hello, World!” sẽ được in ra terminal.

Sau khi thoát khỏi nano và trở lại shell, hãy chạy chương trình với lệnh:

go run hello.go

Chương trình hello.go mà bạn vừa tạo sẽ khiến PowerShell in ra kết quả sau:

Hello, World!

Trong bước này, bạn đã sử dụng một chương trình cơ bản để xác nhận rằng không gian làm việc Go của bạn đã được cấu hình chính xác.

Kết luận

Xin chúc mừng! Bây giờ bạn đã có một không gian làm việc lập trình Go trên máy Windows của mình và sẵn sàng bắt đầu các dự án mã hóa tiếp theo!

Khi thiết lập môi trường Go, bạn có thể cần một server để thử nghiệm. Thuê VPS giá rẻ là lựa chọn thông minh, giúp tiết kiệm chi phí mà vẫn đảm bảo hiệu năng. Xem ngay danh mục VPS giá rẻ của chúng tôi để tìm giải pháp phù hợp cho dự án lập trình của bạn!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *