J'apprends à utiliser exercercism.com et à lire la documentation et les articles recommandés dans le programme.
Maintenant, je suis dans la structure et j'ai trouvé le code suivant
package main import "fmt" type Employee struct { firstName, lastName string salary int fullTime bool } func main() { employee := &Employee{ firstName: "Walddys", lastName: "Dorrejo", salary: 1200, fullTime: true, } fmt.Println("firstName", (*employee).firstName) }
Mais par erreur, j'ai saisi fmt.println("firstname", *&employee.firstname)
ce qui m'a donné le même résultat que celui que j'avais utilisé auparavant dans le bloc de code.
Ma question est la suivante : y a-t-il une différence ou la même chose dans l'utilisation de ce pointeur ?
&x
生成一个指向 x
的指针,而 *p
取消引用指针 p
。因此 *
和 &
有效地相互抵消,例如 v := *&x
和 v := x
Les deux affirmations sont identiques.
Cela signifie *&employee.firstName
与 employee.firstName
pareil.
où employee
是指向结构体的指针,而 firstName
是该结构体的字段,则表达式 employee.firstName
实际上是 (*employee).firstName
est l'abréviation de.
Cela signifie *&employee.firstName
也与 (*employee).firstName
pareil.
Veuillez noter que vous devez toujours préférer utiliser la notation abrégée.
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!