型エイリアスと型定義
Go では、型宣言はエイリアス宣言と型定義の 2 つのカテゴリに分類できます。この区別を理解することは、durWithoutMethods や SameAsDuration などの型エイリアスの興味深い動作を理解するために重要です。
エイリアス宣言
エイリアス宣言は、既存の型の新しい識別子を作成するだけです。この新しい識別子は、元の名前と交換可能です。たとえば、「dur = time.Duration」と入力すると、time.Duration のエイリアスが作成されます。 dur と time.Duration を使用して変数を宣言すると、同じ動作になります。
型定義
対照的に、型定義は新しい型を作成します。これらは、基になる型からすべてのメソッドを取り除きます。これは、型 type x struct { y time.Duration } を定義した場合、x は time.Duration のメソッドを継承しないことを意味します。これは、time.Duration が生の型、つまりメソッドが付加されていない型であるためです。
これを例に適用すると、
以上がGo の型エイリアスと型定義がメソッド継承において異なるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。