golang にはクラスがありますか?
Golang にはクラスがありません。
golang には明確なオブジェクト指向の記述がなく、オブジェクト指向言語とみなされません。理由:
golang はカプセル化のみをサポートし、継承とポリモーフィズムをサポートしません
golang には構造体のみがあり、クラスはありません
本当に接続したい場合は、構造体を他の言語のクラスと比較できます。
クラス宣言
type Poem struct { Title string Author string intro string }
これは、public、protected、または private 宣言を使用せずにクラスを宣言します。
Golang は別のアプローチを使用して属性のアクセス許可を実装します。属性の最初の文字が大文字の場合は、他のパッケージでアクセスできます。それ以外の場合は、このパッケージでのみアクセスできます。クラス宣言とメソッドについても同様です。
クラスメソッド宣言
func (poem *Poem) publish() { fmt.Println("poem publish") }
または
func (poem Poem) publish() { fmt.Println("poem publish") }
は他の言語と異なります Golang の宣言方法が異なりますfromnormal 方法は同じですが、func の後に詩 Poem のようなステートメントが追加されます。 * を追加する場合と追加しない場合の違いは、1 つはポインター オブジェクトを渡し、もう 1 つは値オブジェクトを渡すことです。
関連する推奨事項: golang チュートリアル
以上がgolangにはクラスがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。