Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah peraturan keterlihatan pakej berfungsi di Golang?

Bagaimanakah peraturan keterlihatan pakej berfungsi di Golang?

WBOY
WBOYasal
2024-06-03 17:08:011125semak imbas

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
}

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
}

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() {
    // 函数逻辑
}

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

package main

import "myutils"

func main() {
    myutils.ExportFunction()
}

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!

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