中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

go語言需不需要分號

發布時間:2022-11-28 09:19:39 來源:億速云 閱讀:104 作者:iii 欄目:編程語言

這篇文章主要介紹了go語言需不需要分號的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇go語言需不需要分號文章都會有所收獲,下面我們一起來看看吧。

Go語言不需要在語句或者聲明的末尾添加分號,除非一行上有多條語句。Go語言默認一行就是一條數據,編譯器會主動把特定符號后的換行符轉換為分號,因此換行符添加的位置會影響Go代碼的正確解析。

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會強制左大括號不換行,換行會報語法錯誤),所有的運算符和操作數之間要留空格。

//正確的方式
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語言需不需要分號”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“go語言需不需要分號”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柘城县| 锦州市| 屏边| 龙海市| 会昌县| 响水县| 顺平县| 隆子县| 项城市| 霍城县| 海伦市| 安顺市| 赞皇县| 鄢陵县| 昌宁县| 教育| 平湖市| 资中县| 类乌齐县| 明光市| 双流县| 临沧市| 兰州市| 云浮市| 长治市| 关岭| 万源市| 丹寨县| 年辖:市辖区| 云梦县| 江阴市| 刚察县| 双柏县| 瑞安市| 芜湖县| 尉犁县| 云安县| 开鲁县| 西平县| 马关县| 大安市|