Lập trình Golang trên MacOSX

  • 09/03/2018
  • Bởi
  • trong Go

Sử dụng home brew để cài đặt golang

brew install go
brew info go
go version

Giả định terminal cài Fish Shell, chúng ta cần đặt giá trị cho biến GOPATH bằng file config.fish ở thư mục ~/.config/fish/. Tham khảo Manipulating PATH variable in fish-shell

set -gx GOPATH /PathToGoProjects/
set -gx PATH /PathToGoProjects/bin $PATH

Công cụ IDE để lập trình Golang có 2 lựa chọn hàng đầu:

  1. Visual Studio Code của Microsoft viết, nhanh, nhẹ, miễn phí, đa nền tảng có cực nhiều plugin.
  2. Goland của JetBrains viết bằng Java, mất phí, load chậm, nhưng debug tốt, có nhiều plugin tốt. Goland được thiết kế riêng để lập trình Golang nên tính năng debug mặc nhiên đã có.

Một số lỗi hiện tại của Visual Studio Code nhưng không xuất hiện ở Goland

  • Go to definition thỉnh thoảng bị lỗi không tìm được mã nguồn
  • Không mở được dự án có chứa Go plugins
  • Không có sẵn chức năng  debug, xem hướng dẫn cài delv

Cài đặt delv để debug Golang trong Visual Studio Code

Visual Studio dù có cài plugin Go nhưng cũng không hỗ trợ debug. Chúng ta phải cài đặt delv một thư viện ngoài để debug Golang, https://github.com/derekparker/delve 
Dưới đây là các bước gõ lệnh trong terminal. Chú ý lệnh go get sẽ tải mã nguồn mới nhất từ github rồi lưu ở thư mục $GOPATH/src. Sau khi tải về chúng ta sẽ biên dịch ra file binary dlv, file này được copy vào thư mục $GOPATH/bin

$ go get -u github.com/derekparker/delve/cmd/dlv
$ echo $GOPATH
$ cd $GOPATH/src/github.com/derekparker/delve
$ make install
$ dlv version
$ which dlv

 

Khởi động Goland từ terminal
Chúng ta thường xuyên làm việc với thư mục chữa mã nguồn, rồi muốn khởi động IDE từ thư mục đó. Với Visual Studio Code, bạn gõ code, còn với Goland hãy vào menu Tool > Create command line launcher

Cấu trúc thư mục một project sử dụng Go-Micro Cấu trúc thư mục một project sử dụng Go-Micro Techmaster team Blog Home Giới thiệu Go Module trong Go v1.11, chào tạm biệt GOPATH! Giới thiệu Go Module trong Go v1.11, chào tạm biệt GOPATH! Tào Quỳnh