Maison >développement back-end >Golang >Golang a-t-il une classe d'usine ?
golang n'a pas de classe d'usine car golang ne prend pas en charge les classes. Il n'y a pas d'instruction clairement orientée objet dans golang, et il ne peut pas être considéré comme un langage orienté objet car : 1. golang ne prend en charge que l'encapsulation et ne prend pas en charge l'héritage et le polymorphisme 2. golang n'a qu'une structure, pas une classe ; Bien entendu, struct peut également être comparé à class dans d’autres langues.
L'environnement d'exploitation de ce tutoriel : système Windows 7, GO version 1.18, ordinateur Dell G3.
golang n'a pas de classe d'usine car golang ne prend pas en charge les classes.
Il n'y a pas d'énoncé clair orienté objet dans Golang, et il ne peut pas être considéré comme un langage orienté objet. Parce que :
golang ne prend en charge que l'encapsulation, pas l'héritage et le polymorphisme
golang n'a qu'une structure, pas de classe
Si vous voulez vraiment établir une connexion, vous pouvez comparer la structure à la classe dans d'autres langues.
Déclaration de classe
type Poem struct { Title string Author string intro string }
Cela déclare une classe sans déclarations publiques, protégées ou privées.
Golang utilise une autre approche pour implémenter les autorisations d'accès aux attributs : si la lettre initiale de l'attribut est en majuscule, il est accessible dans d'autres packages, sinon il n'est accessible que dans ce package. Il en va de même pour les déclarations de classe et les méthodes.
Déclaration de méthode de classe
func (poem *Poem) publish() { fmt.Println("poem publish") }
ou
func (poem Poem) publish() { fmt.Println("poem publish") }
est différente des autres langues. La méthode de déclaration golang est la même que la méthode ordinaire, sauf qu'une déclaration comme poème Poème est ajoutée après func. La différence entre ajouter et ne pas ajouter * est que l'un passe un objet pointeur et l'autre passe un objet valeur.
【Recommandations associées : Tutoriel vidéo Go, Enseignement de la programmation】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!