golang pakej berbeza

WBOY
Lepaskan: 2023-05-16 10:01:07
asal
622 orang telah melayarinya

Di Golang, pakej yang berbeza boleh memanggil dan merujuk antara satu sama lain, yang menyediakan asas untuk reka bentuk modular Golang. Jadi, bagaimana kita menggunakan pakej yang berbeza dengan betul di Golang? Dalam artikel ini, kami akan mendalami penggunaan dan pertimbangan pakej yang berbeza di Golang.

Pertama, kita perlu tahu cara merujuk pakej yang berbeza. Di Golang, anda boleh menggunakan pernyataan import untuk memperkenalkan pakej, seperti ditunjukkan di bawah:

import "packageName"
Salin selepas log masuk

Perlu diingat bahawa selepas menggunakan pernyataan import, pengecam boleh eksport (atribut, atribut, kaedah, dsb.) boleh dipanggil dan digunakan, manakala pengecam yang tidak boleh dieksport tidak boleh diakses.

Seterusnya, mari kita lihat cara membuat panggilan antara pakej yang berbeza.

Katakan kita mempunyai dua pakej, packageA dan packageB, di mana terdapat fungsi packageA dalam funcA dan kami mahu memanggilnya dalam packageB. Kemudian, dalam packageB, kita perlu mengimport import melalui pernyataan packageA dan memanggilnya dengan cara berikut:

package packageB

import "packageA"

func main() {
    packageA.funcA()
}
Salin selepas log masuk

Perlu diingat bahawa dalam kod di atas, sebelum funcA kaedah packageA. mewakili fungsi yang ditakrifkan dalam packageA, bukan fungsi dalam packageB. Di samping itu, satu-satunya perbezaan ialah huruf besar dan huruf kecil, dan nama pembolehubah dan fungsi dalam pakej yang berbeza boleh menjadi sama. Oleh itu, untuk mengelakkan kekeliruan dan ralat, kita harus memastikan nama pakej dan nama pembolehubah/fungsi unik.

Di Golang, semua pengecam adalah peribadi secara lalai dan hanya boleh diakses dalam pakej di mana ia berada Walau bagaimanapun, pengecam boleh eksport dan pengecam tidak boleh dieksport boleh dibezakan dengan kes huruf pertama pembolehubah. nama dan nama fungsi. Khususnya, huruf besar dalam nama pembolehubah dan nama fungsi mewakili pengecam yang boleh dieksport, manakala huruf kecil mewakili pengecam yang tidak boleh dieksport.

Sebagai contoh, fungsi berikut ditakrifkan dalam packageA:

package packageA

func FuncA() {
    fmt.Println("This is a public function.")
}

func funcA() {
    fmt.Println("This is a private function.")
}
Salin selepas log masuk

di mana, FuncA ialah fungsi boleh eksport yang boleh dipanggil dalam pakej lain, dan funcA ialah It is fungsi peribadi dan hanya boleh digunakan dalam pakej packageA yang terdapat di dalamnya.

Untuk mengelakkan penggunaan yang tidak wajar, pengecam yang tidak boleh dieksport hendaklah menggunakan tatanama peribadi: huruf kecil + kombinasi garis bawah (seperti func_a).

Jika kita perlu berkongsi pembolehubah antara pakej yang berbeza, kita boleh menggunakan pembolehubah global di Golang. Pembolehubah global mesti diisytiharkan dengan kata kunci var sebelum pembolehubah, jika tidak pembolehubah akan dianggap sebagai pembolehubah tempatan fungsi. Contohnya:

package packageA

var GlobalVar int = 100
Salin selepas log masuk

Dengan cara ini, kita boleh merujuk pembolehubah global ini dalam pakej lain. Perlu diingatkan bahawa pembolehubah global boleh menyebabkan masalah untuk senario berbilang benang, jadi anda perlu memberi perhatian kepada keselamatan berbilang benang apabila menggunakan pembolehubah global.

Di Golang, kami boleh membahagikan pakej yang sama dengan mencipta fail berbeza dalam folder yang sama. Kod dalam setiap fail tergolong dalam pakej yang sama dan boleh dipanggil terus dan dirujuk dalam fail lain. Contohnya:

Dalam direktori packageA, kami mencipta dua fail file1.go dan file2.go:

// file1.go
package packageA

func FuncA() {
    fmt.Println("This is a public function.")
}
Salin selepas log masuk
// file2.go
package packageA

func FuncB() {
    fmt.Println("This is another public function.")
}
Salin selepas log masuk

Kod dalam kedua-dua fail ini tergolong dalam pakej packageA, dalam Mereka boleh dipanggil terus dari fail lain.

Akhir sekali, perlu diingat bahawa jangan terlalu menggunakan pembolehubah global dan panggilan fungsi antara pakej yang berbeza, kerana ini akan mengurangkan kebolehbacaan dan kebolehselenggaraan kod. Amalan yang betul adalah untuk mengurangkan skop fungsi dan pembolehubah yang boleh dilihat kepada pakej mereka sendiri sebanyak mungkin untuk meningkatkan kebolehbacaan dan kebolehselenggaraan struktur kod.

Ringkasnya, di Golang, pakej yang berbeza boleh memanggil dan merujuk antara satu sama lain, yang menyediakan asas untuk reka bentuk modular Golang. Gunakan pernyataan import untuk memperkenalkan pakej Apabila menggunakan kaedah dan pembolehubah daripada pakej yang berbeza, anda perlu memberi perhatian kepada perbezaan antara pengecam boleh eksport dan pengecam tidak boleh dieksport. Pada masa yang sama, untuk meningkatkan kebolehbacaan dan kebolehselenggaraan kod, kurangkan skop fungsi dan pembolehubah yang boleh dilihat kepada pakej mereka sendiri sebanyak mungkin, dan elakkan penggunaan pembolehubah global dan panggilan fungsi secara berlebihan. Pertimbangan ini akan memastikan bahawa kami boleh merujuk dan memanggil fungsi dan pembolehubah dengan betul dalam pakej lain apabila menggunakan pakej yang berbeza.

Atas ialah kandungan terperinci golang pakej berbeza. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan