首頁  >  文章  >  後端開發  >  go語言預定義標識符有多少個

go語言預定義標識符有多少個

青灯夜游
青灯夜游原創
2023-01-31 17:33:474286瀏覽

go語言預先定義標識符有36個,主要包含了基礎資料型別和內建函數,分別是:append、bool、byte、cap、close、complex、complex64、complex128、uint16、copy、FALSE 、float32、float64、imag、int、iota、len、make、new、nil、panic、real、recover、TRUE、uint等等。

go語言預定義標識符有多少個

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

go語言中的預定義標識符

#標識符是指Go語言對各種變數、方法、函數等命名時使用的字元序列,標識符由若干個字母、底線_、和數字組成,且第一個字元必須是字母。通俗的講就是凡可以自己定義的名稱都可以叫做識別符。

在Go語言中,除了使用者自訂的標識符,還有一些特殊的標識符,叫做預定義標識符,如下表所示:

append bool byte cap #close complex complex64 complex128 uint16
copy false float32 #float64 #imag int int8 int16 #uint32
int32 ##int64 iota len make new #nil panic uint64
print println real #recover string true uint uint8 uintptr
#

預先定義標識符一共有 36 個,主要包含Go語言中的基礎資料類型和內建函數,這些預定義標識符也不可以當做標識符來使用。

擴充知識:

#使用者自訂的識別碼

標識符的組成

  • 標識符由數字、字母和底線(_)組成。 123 abc _

  • 只能以字母和底線(_)開頭。 abc123 _sysVar 123abc

  • 標識符區分大小寫。 name Name NAME

舉例說明標識符的命名

正確的命名

package main

func main() {
    var name string
    var age int
    var _sys int
}

錯誤的識別碼

package main

import "fmt"

func main() {
        var 1name string
        var &age int
        var !email
}

go語言命名規範

#Go是一門區分大小寫的語言

命名規則涉及變數、常數、全域函數、結構、介面、方法等的命名。 Go語言從語法層面進行了以下限定:任何需要對外暴露的名字必須以大寫字母開頭,不需要對外暴露的則應該以小寫字母開頭。

當命名(包括常數、變數、型別、函數名稱、結構欄位等等)以大寫字母開頭,如:GetUserName,那麼使用這種形式的識別碼的物件就可以被外部包的程式碼所使用(客戶端程式需要先匯入這個包),這被稱為導出(像物件導向語言中的public);命名如果以小寫字母開頭,則對包外是不可見的,但是他們在整個包的內部是可見且可用的(像物件導向語言中的private )

套件名稱

保持package的名字和目錄保持一致,盡量採取有意義的包名,簡短,有意義,盡量和標準庫不要衝突。包名應該為小寫單詞,不要使用底線或混合大小寫。

package dao
package service

檔案命名

盡量採取有意義的檔案名,簡短,有意義,應該為小寫單詞,使用下劃線分隔各個單字。

customer_dao.go

結構體命名

採用駝峰命名法,首字母根據存取控制大寫或小寫

struct 申明和初始化格式採用多行,例如下面:

type CustomerOrder struct {
    Name string 
    Address string
}
order := CustomerOrder{"tom", "北京海淀"}

介面命名

命名規則基本上和上面的結構體類型

#單一函數的結構名稱以「er」 作為後綴,例如Reader , Writer 。

type Reader interface {
     Read(p []byte) (n int, err error)
}

變數命名

和結構體類似,變數名稱一般遵循駝峰法,首字母根據存取控制原則大寫或小寫,但遇到特有名詞時,需要遵循以下規則:

如果變數為私有,且特有名詞為首個字,則使用小寫,如appService 若變數類型為bool 類型,則名稱應以Has, Is, Can 或Allow 開頭

var isExist bool
var hasConflict bool
var canManage bool
var allowGitHook bool

常數命名

常數均需使用全部大寫字母組成,並使用底線分詞

const APP_URL = "https://www.duoke360.com"

如果是枚舉類型的常數,需要先創建對應類型:

type Scheme string

const (
    HTTP  Scheme = "http"
    HTTPS Scheme = "https"
)

錯誤處理

錯誤處理的原則就是不能丟棄任何有回傳err的調用,不要使用_ 丟棄,必須全部處理。接收到錯誤,要么返回err,或者使用log記錄下來儘早return:一旦有錯誤發生,馬上返回,盡量不要使用panic,除非你知道你在做什麼,錯誤描述如果是英文必須為小寫,不需要標點結尾,採用獨立的錯誤流程進行處理

// 错误写法
if err != nil {
    // 错误处理
} else {
    // 正常代码
}

// 正确写法
if err != nil {
    // 错误处理
    return // 或者继续
}
// 正常代码

單元測試

單元測試檔案名稱命名規範為example_test.go 測試案例的函數名稱必須以Test 開頭,例如:TestExample 每個重要的函數都要先寫測試案例,測試案例和正規程式碼一起提交方便進行回歸測試。

【相關推薦:Go影片教學程式設計教學

以上是go語言預定義標識符有多少個的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn