Si vous venez d'autres langages tels que php, C#, Dart, etc., vous serez familiarisé avec la création de méthodes pour les classes. Habituellement, ces méthodes implémentent une action pour cette classe. Dans ces langages POO, vous créez des méthodes dans la portée de la classe telles que :
class ClassName{ .... function functionName(){ // perform action } }
Au début, vous créez d'abord une structure, puis vous pouvez attacher des récepteurs pour effectuer des actions spécifiques pour la structure. Par exemple, nous avons comme modèle d'utilisateur auquel nous voulons qu'il ait une méthode qui renvoie le nom complet de l'utilisateur, nous l'avons comme indiqué ci-dessous :
type myUser struct{ FirstName string LastName string PostalCode string DateOfBirth time.Time }
Ci-dessus, nous venons de créer un type d'utilisateur avec les différents attributs tels que FirstName, LastName .... , nous voulons avoir une méthode qui effectue une action spéciale pour le type 'myUser' dans ce cas, renvoie simplement le formulaire de nom complet les attributs indiqués FirstName, LastName.
Nous pouvons créer une fonction de récepteur fullname qui renvoie une chaîne.
func (user *myUser) fullname() (string, string){ return user.FirstName ,user.LastName }
Comment pouvons-nous utiliser cela ? nous pourrions tester cela directement dans la fonction principale juste pour voir comment cela fonctionne :
func main() { user := myUser{ FirstName: "Felix", LastName: "chi", } fmt.Println(user.fullname()) }
Nous avons donc créé avec succès une méthode de réception pour notre structure myUser. L'ode complète ressemblera à ceci :
package main import ( "fmt" "time" ) type myUser struct { FirstName string LastName string PostalCode string DateOfBirth time.Time } func (user *myUser) fullname() (string, string) { return user.FirstName, user.LastName } func main() { user := myUser{ FirstName: "Felix", LastName: "chi", } fmt.Println(user.fullname()) }
Et alors, quelle est la prochaine étape ? allez-y et collez le code sur https://go.dev/play/ pour voir comment cela fonctionne réellement. A voir dans votre prochain post...!!!!
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!