ホームページ >バックエンド開発 >Golang >Go 言語には事前定義された識別子がいくつありますか?

Go 言語には事前定義された識別子がいくつありますか?

青灯夜游
青灯夜游オリジナル
2023-01-31 17:33:474344ブラウズ

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 言語には事前定義された識別子がいくつありますか?

このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。

Go 言語の事前定義された識別子

識別子は、さまざまな変数、メソッド、関数などに名前を付けるために Go 言語で使用される名前を指します。文字シーケンス。識別子は複数の文字、アンダースコア_、および数字で構成され、最初の文字は文字である必要があります。平たく言えば、自分で定義できる名前を識別子と呼ぶことができます。

Go 言語では、次の表に示すように、ユーザー定義の識別子に加えて、事前定義識別子と呼ばれる特別な識別子もいくつかあります。 #append

boolbytecapclosecomplexcomplex64 complex128uint16copyfalsefloat32float64imagintint8int16uint32int32int64 iotalenmakenewnilpanicuint64printprintlnrealrecoverstringtrue uintuint8uintptr

定義済みの識別子は合計 36 個あり、主に Go 言語の基本データ型や組み込み関数が含まれますが、これらの定義済み識別子を識別子として使用することはできません。

#拡張知識:

#ユーザー定義の識別子

識別子の構成

    識別子は、数字、文字、アンダースコア (_) で構成されます。 123 abc __
  • は文字とアンダースコア (_) でのみ始めることができます。 abc123 _sysVar 123abc
  • 識別子では大文字と小文字が区別されます。 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)、この形式の識別子を使用するオブジェクトを外部にパッケージ化できます。使用されるコード (クライアント プログラムは最初にこのパッケージをインポートする必要があります)、これはエクスポートと呼ばれます (オブジェクト指向言語のパブリックのような)、名前が小文字で始まる場合、パッケージの外では見えませんが、使用されます。パッケージ全体を通して、内部は表示され、利用可能です (オブジェクト指向言語のプライベートのような)

パッケージ名

パッケージの名前はディレクトリと一致するようにしてください。意味のあるものを使用してください。 パッケージ名は短くて意味のあるものにし、標準ライブラリと競合しないようにしてください。パッケージ名は小文字にする必要があり、アンダースコアや大文字と小文字の混合を使用しないでください。

package dao
package service

ファイル名

短くて意味のあるファイル名を使用してください。ファイル名は小文字にし、各単語を区切るにはアンダースコアを使用する必要があります。

customer_dao.go

構造体の命名方法

キャメルケースの命名方法を使用します。最初の文字はアクセス制御に従って大文字または小文字になります。

構造体の宣言と初期化形式は使用します。複数行、例:

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 を返すものは破棄できません。_discard は使用しないでください。すべて処理する必要があります。エラーを受信した場合は、err を返すか、ログを使用してそれを記録し、できるだけ早く戻ります。エラーが発生したら、すぐに戻ります。何をしているのかわからない場合は、パニックを使用しないでください。エラーの説明が英語の場合は、 、小文字である必要があり、末尾に句読点は必要ありません。 、処理には独立したエラー ストリームを使用します

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

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

単体テスト

単体テスト ファイル名の命名規則は example_test.go です。テスト ケースの関数名は Test で始まる必要があります (例: TestExample)。すべての重要な関数は、最初にテスト ケースを作成する必要があります。回帰テストを容易にするために、テスト ケースと通常のコードが一緒に送信されます。

【関連する推奨事項:

Go ビデオ チュートリアル

プログラミング教育

以上がGo 言語には事前定義された識別子がいくつありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。