Friday, 16 October 2015

[Golang] gofmt và sắp xếp import package

câu lệnh ``gofmt`` (đọc là gâu-phằm) sẽ tự động sắp xếp import, format code của file đầu vào, và in ra màn hình code đã được format theo tiêu chuẩn của Golang.

Nếu để các dòng import liền nhau, gofmt sẽ sắp xếp chúng theo thứ tự alphabetical.
Để tách riêng các standard package với các external package, phân cách chúng bởi 1 dòng trắng. Hai cụm import sẽ được gofmt sắp xếp riêng.

Ví dụ:
import (
    "encoding/json"
    "fmt"
    "net"
    "net/http"

    recover_mw "git.familug.org/hvn/golib/echo/recover"
    log "github.com/Sirupsen/logrus"
    logmw "github.com/deoxxa/echo-logrus"
    "github.com/labstack/echo"
)
Cũng có thể dùng goimports để sắp xếp với logic tương tự mà không cần dòng trắng, nhưng đôi khi
goimports tỏ ra quá thông minh và đã có lần tự import https://github.com/cockroachdb/cockroach/tree/421dcbbfe645eab4b49f682eabf69d98d36e50b7/util/log thay vì "log".



Hết.