go語言需要分號嗎

2022-11-25 22:02:01

Go語言不需要在語句或者宣告的末尾新增分號,除非一行上有多條語句。Go語言預設一行就是一條資料,編譯器會主動把特定符號後的換行符轉換為分號,因此換行符新增的位置會影響Go程式碼的正確解析。

php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:

本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

Go語言不需要在語句或者宣告的末尾新增分號,除非一行上有多條語句。實際上,編譯器會主動把特定符號後的換行符轉換為分號, 因此換行符新增的位置會影響Go程式碼的正確解析(譯註:比如行末是識別符號、整數、浮點數、虛數、字元或字串文字、關鍵字 break 、 continue 、 fallthrough 或 return 中的一個、運運算元和分隔符 ++ 、 -- 、 ) 、 ] 或 } 中的一個)。

舉個例子, 函數的左括號 { 必須和 func 函數宣告在同一行上,且位於末尾,不能獨佔一行,而在表示式 x + y 中,可在 + 後換行,不能在 + 前換行(譯註:以+結尾的話不會被插入分號分隔符,但是以x結尾的話則會被分號分隔符,從而導致編譯錯誤。

Go語言的程式碼風格

(1)縮排和折行

縮排直接使用gofmt工具格式化即可(gofmt是使用tab縮排的)

折行方面,一行最長不超過120個字元,超過的請使用換行展示,儘量保持格式優雅

我們使用GoLand開發工具,直接使用快捷鍵:Ctrl+Alt+L即可。

(2)語句的結尾

Go語言中是不需要類似於Java需要分號結尾,預設一行就是一條資料。

如果你打算將多個語句寫在同一行,它們則必須使用。

(3)括號和空格

括號和空格方面,也可以直接使用gofmt 工具格式化(go會強制左大括號不換行,換行會報語法錯誤),所有的運運算元和運算元之間要留空格。【相關推薦:Go視訊教學

//正確的方式
if a > 0 {

}
//錯誤的方式
if a>0  // a,>,0之間應該使用空格
{       //左大括號不可以換行,會報語法錯誤
	
}
登入後複製

(4)import規範

import在多行的情況下,goimports會自動幫你格式化,如果你在一個檔案裡面引入了一個package,建議採用如下格式:

import {
	"fmt"
}
登入後複製

如果你的包引入了三種型別的包,標準庫包,程式內部包,第三方包,建議採用如下方式進行組織你的包

inport{
	"encoding/json"
	"strings"
	
	"myproject/models"
	"myproject/controller"
	
	"github.com/astaxie/beego"
}
登入後複製

有順序的引入包,不同的型別採用空格分隔,第一種實際準庫,第二是專案包,第三是第三方包

在專案中不要使用相對路徑引入包

(5)錯誤處理

  • 錯誤處理的原則就是不能丟棄任何有返回err的呼叫,不要使用_丟棄,必須全部處理。接收到錯誤,要麼返回err,或者使用log記錄下來

  • 儘早return:一旦有錯誤發生,馬上返回

  • 儘量不使用panic,除非你知道你在做什麼

  • 錯誤描述如果是英文必須為小寫,不需要標點結尾

  • 採用獨立的錯誤流進行處理

// 錯誤寫法
if err != nil {
	// error handing
} else {
	//normal code
}

// 正確寫法
if err != nil {
	// error handing
	return // or continue, etc.
}
//  normal code
登入後複製

(6)測試

單元測試檔案命名規範為 example_test.go

測試用例的函數名稱都必須以Test

每個重要的函數都要首先編寫測試用例,測試用例和正規程式碼一起提交方便進行迴歸測試

更多程式設計相關知識,請存取:!!

以上就是go語言需要分號嗎的詳細內容,更多請關注TW511.COM其它相關文章!