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

Mary-Kate Olsen
Lepaskan: 2024-11-16 19:23:03
asal
224 orang telah melayarinya

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
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan