Heim > Backend-Entwicklung > Golang > Wie kapsele ich private Felder und Methoden in Go-Strukturen?

Wie kapsele ich private Felder und Methoden in Go-Strukturen?

Patricia Arquette
Freigeben: 2024-12-06 22:29:10
Original
254 Leute haben es durchsucht

How to Encapsulate Private Fields and Methods in Go Structs?

Kapselung privater Felder und Methoden für Strukturen in Go

In Go ist das Erreichen einer echten Kapselung sowohl für Strukturfelder als auch für Methoden eine Frage des Verständnisses Regeln für den Gültigkeitsbereich und die Sichtbarkeit von Variablen.

Konventionell wird ein Bezeichner, der mit einem Großbuchstaben beginnt, exportiert und kann abgerufen werden außerhalb des deklarierenden Pakets. Umgekehrt sind kleingeschriebene Bezeichner nur innerhalb des Pakets selbst zugänglich.

Um sowohl die mytype-Struktur als auch ihre doPrivate-Methode zu privatisieren, sollten die folgenden Schritte unternommen werden:

  1. Separates Paket : Erstellen Sie ein separates Paket für die mytype-Struktur und die zugehörigen Methoden. Dadurch wird sichergestellt, dass nur die Mitglieder des Typs „mytype“ Zugriff auf seine privaten Felder und Methoden haben.
  2. Kleinbuchstaben-Bezeichner: Benennen Sie sowohl die Struktur „mytype“ als auch die Methode „doPrivate“ um, sodass sie mit Kleinbuchstaben beginnen.

Der resultierende Code:

// Package mypkg defines the private mytype struct and its methods.
package mypkg

type mytype struct {
    size          string
    hash          uint32
}

// doPrivate can only be accessed by members of mytype.
func (r *mytype) doPrivate() string {
    return r.size
}
Nach dem Login kopieren

Jetzt nur noch Mitglieder von mytype struct kann auf seine privaten Felder und Methoden zugreifen. Externe Typen oder Funktionen innerhalb des mypkg-Pakets können nicht direkt auf diese privaten Mitglieder zugreifen.

Das obige ist der detaillierte Inhalt vonWie kapsele ich private Felder und Methoden in Go-Strukturen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage