Maison  >  Article  >  développement back-end  >  Quelle est la différence entre (*variable) et *&variable ?

Quelle est la différence entre (*variable) et *&variable ?

王林
王林avant
2024-02-05 21:30:04823parcourir

(*variable) 和 *&variable 有什么区别?

Contenu de la question

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 ?


Bonne réponse


&x 生成一个指向 x 的指针,而 *p 取消引用指针 p。因此 *& 有效地相互抵消,例如 v := *&xv := x Les deux affirmations sont identiques.

Cela signifie *&employee.firstNameemployee.firstName pareil.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer