Heim > Backend-Entwicklung > Golang > Was ist der Unterschied zwischen (*Variable) und *&Variable?

Was ist der Unterschied zwischen (*Variable) und *&Variable?

王林
Freigeben: 2024-02-05 21:30:04
nach vorne
1074 Leute haben es durchsucht

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

Frageninhalt

Ich lerne, mit exercism.com loszulegen und die im Lehrplan empfohlenen Dokumentationen und Artikel zu lesen.

Jetzt bin ich in der Struktur und habe den nächsten Code gefunden

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)
}
Nach dem Login kopieren

Aber versehentlich habe ich fmt.println("firstname", *&employee.firstname) eingegeben, was zu dem gleichen Ergebnis führte, das ich zuvor im Codeblock verwendet hatte.

Meine Frage ist, gibt es einen Unterschied oder den gleichen bei der Verwendung dieses Zeigers?


Richtige Antwort


&x 生成一个指向 x 的指针,而 *p 取消引用指针 p。因此 *& 有效地相互抵消,例如 v := *&xv := x Beide Aussagen sind gleich.

Es bedeutet *&employee.firstNameemployee.firstName dasselbe.

Die Abkürzung von employee 是指向结构体的指针,而 firstName 是该结构体的字段,则表达式 employee.firstName 实际上是 (*employee).firstName.

Es bedeutet *&employee.firstName 也与 (*employee).firstName dasselbe.

Bitte beachten Sie, dass Sie immer die Kurzschrift bevorzugen sollten.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen (*Variable) und *&Variable?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage