1. 程式人生 > 其它 >Go從入門到精通——程式碼格式化工具 gofmt

Go從入門到精通——程式碼格式化工具 gofmt

程式碼格式化工具 gofmt

  Go 語言中的格式要求如此嚴格,是否會給開發者帶來很多麻煩呢?Go 語言的設計團隊顯然已經考慮到了這個為,因此提供了相應的工具來幫助開發者避免大部分重複性的格式上的工作。這個工具就是 gofmt,在安裝完 Go 語言安裝包之後可以直接通過命令列執行 gofmt 軟體進行程式碼的自動格式化。

package main

import ("fmt")

func main() {
	a:=1
	if (a >= 1) {fmt.Println((a))}
}

  我發現不管是 vscode、gofmt 都可以格式化該程式碼問題。gofmt 執行命令為:

gofmt xxx.go       #對程式碼進行格式優化後輸出結果
gofmt -w xxx.go  #直接優化後儲存到原來的程式碼檔案 xxx.go 中

  程式碼中問題如下:

    • import 語句中一般將括號分為兩行並且其中每個導包占一行。
    • a:=1 這一語句中,":=" 操作符前後應有空格。
    • if 開始的條件判斷句中的單個條件不需要加上圓括號,並且後面的條件分支語句也應換行。

  另外,也可以直接在 包 目錄下執行 go fmt 命令,將該包中的程式碼全部進行格式化優化。

  Go 語言中,類似 gofmt 這類工具(包括 Go 語言主程式 go 本身)都可以加上 --help 命令列引數來獲取幫助資訊,類似 gofmt -h 將輸出下面的類似資訊:

D:\go-testfiles>gofmt -h
usage: gofmt [flags] [path ...]
  -cpuprofile string
        write cpu profile to this file
  -d    display diffs instead of rewriting files
  -e    report all errors (not just the first 10 on different lines)
  -l    list files whose formatting differs from gofmt's
  -r string
rewrite rule (e.g., 'a[b:len(a)] -> a[b:]') -s simplify code -w write result to (source) file instead of stdout D:\go-testfiles>