Bagaimanakah peraturan keterlihatan pakej berfungsi di Golang?

WBOY
Lepaskan: 2024-06-03 17:08:01
asal
1093 orang telah melayarinya

Peraturan keterlihatan pakej dalam Go tentukan sama ada pengecam boleh diakses di luar pakej. Pengecam yang dieksport bermula dengan huruf besar dan boleh diakses dari luar, manakala pengecam yang bermula dengan huruf kecil adalah peribadi dan hanya boleh diakses dalam pakej yang ditakrifkan. Pengecam yang dieksport membenarkan penggunaan dalam pakej lain, manakala pengecam peribadi merangkum butiran pelaksanaan dan menghalang penggunaan tidak sengaja.

Golang 中包的可见性规则是如何工作的?

Peraturan keterlihatan untuk pakej dalam Go

Dalam bahasa Go, peraturan keterlihatan untuk pakej menentukan apabila pengecam (pembolehubah, jenis, pemalar, fungsi, dll.) dalam pakej boleh berada di luar akses pakej. Memahami peraturan ini adalah penting untuk menulis kod Go modular dan boleh diselenggara.

Pengecam Dieksport

Pengecam yang dieksport bermula dengan huruf besar. Untuk mengakses pengecam dari luar pakej, ia mesti dieksport. Pengecam yang dieksport membenarkan pengguna menggunakannya dalam pakej lain dan didokumenkan dalam dokumentasi pakej (godoc).

package mypkg

// 导出的变量
var ExportedVariable = 10

// 导出的类型
type ExportedType struct {
    Field1 string
    Field2 int
}
Salin selepas log masuk

Pengecam peribadi

Pengecam yang bermula dengan huruf kecil adalah peribadi. Ia hanya boleh diakses dalam pakej yang ditakrifkan. Pengecam persendirian digunakan untuk merangkum butiran pelaksanaan dalaman bagi pakej dan menghalang penggunaannya secara tidak sengaja dalam pakej lain.

package mypkg

// 私有变量
var privateVariable = 20

// 私有类型
type privateType struct {
    Field1 bool
    Field2 string
}
Salin selepas log masuk

Contoh Praktikal

Pertimbangkan pakej yang dipanggil myutils yang menyediakan beberapa fungsi utiliti yang berguna. Untuk menjadikan fungsi ini tersedia di luar pakej, ia mesti dieksport: myutils 的包,它提供一些有用的实用函数。要使这些函数在包外部可用,必须导出它们:

package myutils

// 导出函数
func ExportFunction() {
    // 函数逻辑
}
Salin selepas log masuk

然后,可以在另一个包中导入 myutils

package main

import "myutils"

func main() {
    myutils.ExportFunction()
}
Salin selepas log masuk
Anda kemudian boleh mengimport pakej myutils dalam pakej lain dan menggunakan fungsi yang dieksport:

rrreeeNota:

  • Nama pakej mestilah huruf kecil.
  • Tiada kata kunci kawalan akses (seperti awam, peribadi, dilindungi) dalam Go. Peraturan keterlihatan pakej menentukan kebenaran akses untuk pengecam.
  • Pengecam eksport harus digunakan dengan berhati-hati kerana ia menjejaskan antara muka luaran pakej.
  • Pengecam peribadi boleh meningkatkan pengkapsulan kod dan mengurangkan penggunaan tidak sengaja.
🎜

Atas ialah kandungan terperinci Bagaimanakah peraturan keterlihatan pakej berfungsi di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan