Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh menjadikan medan dan kaedah peribadi dalam struct Go?

Bagaimanakah saya boleh menjadikan medan dan kaedah peribadi dalam struct Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-16 19:23:03215semak imbas

How can I make fields and methods private within a Go struct?

Merangkum Medan dan Kaedah Peribadi dalam Struktur Go

Dalam Go, keterlihatan medan dan kaedah dalam struct dikawal oleh yang pertama watak nama mereka. Medan dan kaedah yang bermula dengan huruf besar dieksport daripada pakej dan boleh diakses melalui kod luaran. Sebaliknya, yang bermula dengan huruf kecil adalah peribadi untuk pakej.

Untuk menyekat akses kepada medan dan kaedah tertentu dalam struct, anda boleh meletakkan struct dan fungsi ahlinya dalam pakej yang berasingan. Dengan cara ini, hanya jenis yang ditakrifkan dalam pakej akan mempunyai akses kepada ahli persendirian.

Sebagai contoh, dalam contoh yang disediakan, anda boleh mencipta pakej baharu untuk struct mytype anda:

// mytype.go

// Define the mytype struct with private fields and methods.
package mytype

type mytype struct {
    size          string
    hash          uint32
}

func (r *mytype) doPrivate() string {
    return r.size
}

Selagi pakej mytype tidak mengimport sebarang pakej lain, saiz medan dan cincang serta kaedah doPrivate akan kekal peribadi kepada mytype dan tidak boleh diakses dari luar pakej.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menjadikan medan dan kaedah peribadi dalam struct Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn