Hướng dẫn: Bắt đầu với Go

Trong hướng dẫn này, bạn sẽ được giới thiệu ngắn gọn về lập trình Go. Trong quá trình đó, bạn sẽ:

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

Cài đặt Go

Chỉ cần làm theo các bước Tải xuống và cài đặt.

Viết một số mã

Bắt đầu với Hello, World.

  1. Mở dấu nhắc lệnh và cd vào thư mục home của bạn.

    Trên Linux hoặc Mac:

    cd
    

    Trên Windows:

    cd %HOMEPATH%
    
  2. Tạo thư mục hello cho mã nguồn Go đầu tiên của bạn.

    Ví dụ, dùng các lệnh sau:

    mkdir hello
    cd hello
    
  3. Bật tính năng theo dõi dependency cho mã của bạn.

    Khi mã của bạn import các gói có trong các module khác, bạn quản lý các dependency đó thông qua module của chính mã. Module đó được xác định bởi tệp go.mod theo dõi các module cung cấp những gói đó. Tệp go.mod này đi kèm với mã của bạn, kể cả trong kho lưu trữ mã nguồn.

    Để bật theo dõi dependency cho mã của bạn bằng cách tạo tệp go.mod, hãy chạy lệnh go mod init, truyền vào tên của module mà mã của bạn sẽ nằm trong. Tên đó là đường dẫn module của module.

    Trong phát triển thực tế, đường dẫn module thường là vị trí kho lưu trữ nơi mã nguồn của bạn sẽ được lưu trữ. Ví dụ, đường dẫn module có thể là github.com/mymodule. Nếu bạn dự định publish module để người khác sử dụng, đường dẫn module phải là một vị trí mà từ đó các công cụ Go có thể tải xuống module của bạn. Để biết thêm về đặt tên module với đường dẫn module, xem Quản lý dependency.

    Trong hướng dẫn này, chỉ cần dùng example/hello.

    $ go mod init example/hello
    go: creating new go.mod: module example/hello
    
  4. Trong trình soạn thảo văn bản, tạo tệp hello.go để viết mã.

  5. Dán đoạn mã sau vào tệp hello.go của bạn và lưu tệp.

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

    Đây là mã Go của bạn. Trong đoạn mã này, bạn:

    • Khai báo gói main (một gói là cách nhóm các hàm lại, và nó bao gồm tất cả các tệp trong cùng thư mục).
    • Import gói fmt phổ biến, chứa các hàm để định dạng văn bản, bao gồm in ra console. Gói này là một trong các gói thư viện chuẩn bạn có được khi cài đặt Go.
    • Triển khai hàm main để in một thông báo ra console. Hàm main được thực thi mặc định khi bạn chạy gói main.
  6. Chạy mã của bạn để xem lời chào.

    $ go run .
    Hello, World!
    

    Lệnh go run là một trong nhiều lệnh go bạn sẽ dùng để làm mọi thứ với Go. Dùng lệnh sau để xem danh sách các lệnh khác:

    $ go help
    

Gọi mã trong một gói bên ngoài

Khi bạn cần mã làm một việc gì đó mà người khác có thể đã triển khai, bạn có thể tìm một gói có các hàm bạn có thể dùng trong mã của mình.

  1. Làm cho thông điệp in ra thú vị hơn với một hàm từ một module bên ngoài.
    1. Truy cập pkg.go.dev và tìm kiếm gói "quote".
    2. Trong kết quả tìm kiếm, tìm và nhấp vào phiên bản v1 của gói rsc.io/quote (nó được liệt kê trong "Other major versions" của rsc.io/quote/v4).
    3. Trong phần Documentation, dưới mục Index, hãy ghi chú danh sách các hàm bạn có thể gọi từ mã của mình. Bạn sẽ dùng hàm Go.
    4. Ở đầu trang này, ghi chú rằng gói quote nằm trong module rsc.io/quote.

    Bạn có thể dùng trang pkg.go.dev để tìm các module đã publish mà gói của chúng có các hàm bạn có thể dùng trong mã của mình. Các gói được publish trong các module -- như rsc.io/quote -- để người khác có thể sử dụng. Các module được cải thiện với các phiên bản mới theo thời gian, và bạn có thể nâng cấp mã để dùng các phiên bản cải tiến.

  2. Trong mã Go của bạn, import gói rsc.io/quote và thêm lời gọi đến hàm Go của nó.

    Sau khi thêm các dòng được đánh dấu, mã của bạn sẽ bao gồm những phần sau:

    package main
    
    import "fmt"
    
    import "rsc.io/quote"
    
    func main() {
        fmt.Println(quote.Go())
    }
    
  3. Thêm các yêu cầu module mới và các tổng kiểm tra.

    Go sẽ thêm module quote như một yêu cầu, cùng với tệp go.sum dùng để xác thực module. Để biết thêm, xem Xác thực module trong Tài liệu tham chiếu Go Modules.

    $ go mod tidy
    go: finding module for package rsc.io/quote
    go: found rsc.io/quote in rsc.io/quote v1.5.2
    
  4. Chạy mã của bạn để xem thông điệp được tạo ra bởi hàm bạn đang gọi.
    $ go run .
    Don't communicate by sharing memory, share memory by communicating.
    

    Lưu ý rằng mã của bạn gọi hàm Go, in ra một thông điệp thú vị về giao tiếp.

    Khi bạn chạy go mod tidy, nó đã xác định và tải xuống module rsc.io/quote chứa gói bạn đã import. Theo mặc định, nó tải xuống phiên bản mới nhất -- v1.5.2.

Viết thêm mã

Với phần giới thiệu nhanh này, bạn đã cài đặt Go và học được một số kiến thức cơ bản. Để viết thêm mã với một hướng dẫn khác, hãy xem Tạo một module Go.