go語言需要分號嗎
Go語言不需要在語句或宣告的末尾加上分號,除非一行上有多條語句。 Go語言預設一行就是一條數據,編譯器會主動把特定符號後的換行符號轉換為分號,因此換行符號所新增的位置會影響Go程式碼的正確解析。
本教學操作環境: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語言需要分號嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Go語言中用於浮點數運算的庫介紹在Go語言(也稱為Golang)中,進行浮點數的加減乘除運算時,如何確保精度是�...

Go爬蟲Colly中的Queue線程問題探討在使用Go語言的Colly爬蟲庫時,開發者常常會遇到關於線程和請求隊列的問題。 �...

GoLand中自定義結構體標籤不顯示怎麼辦?在使用GoLand進行Go語言開發時,很多開發者會遇到自定義結構體標籤在�...

Go語言中字符串打印的區別:使用Println與string()函數的效果差異在Go...

Go語言中使用RedisStream實現消息隊列時類型轉換問題在使用Go語言與Redis...

Go語言中哪些庫是大公司開發或知名開源項目?在使用Go語言進行編程時,開發者常常會遇到一些常見的需求,�...

Go編程中的資源管理:Mysql和Redis的連接與釋放在學習Go編程過程中,如何正確管理資源,特別是與數據庫和緩存�...

Go語言在構建高效且可擴展的系統中表現出色,其優勢包括:1.高性能:編譯成機器碼,運行速度快;2.並發編程:通過goroutines和channels簡化多任務處理;3.簡潔性:語法簡潔,降低學習和維護成本;4.跨平台:支持跨平台編譯,方便部署。
