Go Typeの利用​​シーンについて話しましょう

藏色散人
リリース: 2021-10-26 17:07:01
転載
2503 人が閲覧しました

この記事は、Go Type の使用シナリオを紹介する go 言語 チュートリアル コラムによって提供されており、困っている友人の役に立てば幸いです。

Go Type の使用シナリオ

type の使用シナリオ

1. 構造を定義します

// 定义商标结构
//将Brand定义为如下的结构体类型
type Brand struct {
}
// 为商标结构添加Show()方法
func (t Brand) Show() {
}
ログイン後にコピー

2. エイリアスを作成します

Go 1.9 バージョンより前は、組み込み型を定義するコードは次のように書かれていました:

type byte uint8
type rune int32
ログイン後にコピー

Go 1.9 バージョン以降は次のようになりました:

type byte = uint8
type rune = int32
ログイン後にコピー

型を区別するエイリアスと型定義

// 将NewInt定义为int类型
type NewInt int
// 将int取一个别名叫IntAlias
type IntAlias = int
func main() {
    // 将a声明为NewInt类型
    var a NewInt
    // 查看a的类型名
    fmt.Printf("a type: %T\n", a)
    // 将a2声明为IntAlias类型
    var a2 IntAlias
    // 查看a2的类型名
    fmt.Printf("a2 type: %T\n", a2)
}
a type: main.NewInt
a2 type: int
ログイン後にコピー

バッチ定義構造

type (
    // A PrivateKeyConf is a private key config.
    PrivateKeyConf struct {
        Fingerprint string
        KeyFile     string
    }
    // A SignatureConf is a signature config.
    SignatureConf struct {
        Strict      bool          `json:",default=false"`
        Expiry      time.Duration `json:",default=1h"`
        PrivateKeys []PrivateKeyConf
    }
)
ログイン後にコピー

単一定義構造

type PrivateKeyConf struct {
    Fingerprint string
    KeyFile     string
}
type SignatureConf struct {
    Strict      bool          `json:",default=false"`
    Expiry      time.Duration `json:",default=1h"`
    PrivateKeys []PrivateKeyConf
}
ログイン後にコピー

以上がGo Typeの利用​​シーンについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート