Il n'y a pas de classes ni d'objets traditionnels dans le langage Go, mais des structures et des méthodes sont utilisées. Les méthodes de classe sont liées au type et sont utilisées pour opérer sur le type entier. Les méthodes objet sont liées à des instances d’objet et sont utilisées pour opérer sur des instances spécifiques. Les récepteurs des deux sont différents : le récepteur des méthodes de classe est le type, tandis que le récepteur des méthodes objet est le pointeur d'instance d'objet. Il existe également des différences dans les conventions de dénomination : les méthodes de classe commencent par une lettre majuscule et les méthodes d'objet commencent par une lettre minuscule.
Il n'y a pas de classes et d'objets au sens traditionnel dans le langage Go. Au lieu de cela, les structures et les méthodes sont utilisées pour simuler les comportements des classes et des objets. Comprendre les méthodes de classe et les méthodes objets est crucial pour utiliser efficacement le langage Go.
Méthodes de classe
Les méthodes de classe sont liées au type lui-même, plutôt qu'à une instance d'objet spécifique. Ils sont généralement utilisés pour manipuler ou initialiser un type entier, par exemple pour créer une nouvelle instance. Les méthodes de classe sont déclarées à l'aide du mot-clé func
et mises en majuscules par convention pour indiquer qu'il s'agit d'une méthode de classe : func
关键字声明类方法,并以首字母大写作为约定,表明它是类方法:
type Person struct { name string age int } func (p Person) New(name string, age int) Person { return Person{name, age} }
对象方法
对象方法与方法接收者绑定,它允许对特定对象实例执行操作。使用 func
type Person struct { name string age int } func (p *Person) GetName() string { return p.name }
Méthodes d'objet
Les méthodes d'objet sont liées au récepteur de méthode, ce qui permet Effectuez une opération sur une instance d'objet spécifique. Les méthodes objets sont déclarées à l'aide du mot cléfunc
, commençant par une lettre minuscule : func main() { // 使用类方法创建 Person 实例 p := Person.New("Alice", 25) // 使用对象方法获取 Person 实例的姓名 name := p.GetName() fmt.Println(name) // 输出: Alice }
Cas pratique
Voici un exemple simple utilisant les méthodes de classe et les méthodes objet :rrreee
Récepteur de méthode objet : pointeur d'instance de structure (adresse).
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!