Di GO, pakej adalah cara utama untuk mengatur dan menggunakan kod semula. Untuk membuat pakej, anda perlu mengikuti langkah -langkah ini:
mathops
.Tulis fail pakej: Di dalam direktori ini, buat satu atau lebih fail sumber Go. Setiap fail hendaklah bermula dengan perisytiharan pakej di bahagian atas. Contohnya:
<code class="go">package mathops // Add returns the sum of a and b. func Add(a, b int) int { return ab }</code>
Pakej Perisytiharan package mathops
menunjukkan bahawa fail ini tergolong dalam pakej mathops
.
Add
bermula dengan modal 'A', menjadikannya kelihatan dan boleh digunakan dari luar pakej. Menggunakan pakej: Untuk menggunakan pakej dalam program GO yang lain, anda perlu mengimportnya. Katakan anda mempunyai fail lain bernama main.go
dalam direktori yang berbeza di mana anda ingin menggunakan fungsi Add
dari pakej mathops
:
<code class="go">package main import ( "fmt" "path/to/mathops" ) func main() { result := mathops.Add(2, 3) fmt.Println(result) // Output: 5 }</code>
Dalam penyata import, path/to/mathops
harus digantikan dengan laluan sebenar di mana direktori mathops
berada.
Menguruskan pakej GO dengan berkesan boleh membawa kepada kod yang lebih bersih dan lebih diselenggara. Berikut adalah beberapa amalan terbaik untuk dipertimbangkan:
utils
atau helpers
. Sebaliknya, gunakan nama yang menggambarkan fungsi utama pakej, seperti mathops
untuk operasi matematik.Struktur Direktori: Mengatur pakej berkaitan ke dalam direktori secara hierarki. Sebagai contoh, jika anda mempunyai pelbagai pakej untuk pemprosesan data, anda mungkin menyusunnya seperti ini:
<code>/project ├── /data │ ├── /parser │ └── /transformer</code>
internal
. Ini menghalang mereka daripada diimport oleh projek luaran.Menguruskan kebergantungan dalam GO melibatkan mengimport dan menggunakan pakej luaran, serta pengendalian versi kawalan. Inilah cara anda boleh melakukannya dengan berkesan:
Mengimport Pakej: Untuk menggunakan pakej luaran, anda mengimportnya di bahagian atas fail Go anda menggunakan kata kunci import
. Sebagai contoh, untuk menggunakan perpustakaan logrus
Logging yang popular:
<code class="go">import ( "github.com/sirupsen/logrus" )</code>
Pengurusan Ketergantungan: Go menggunakan fail go.mod
untuk menguruskan kebergantungan. Untuk memulakan projek baru dengan pengurusan ketergantungan, jalankan:
<code class="sh">go mod init your-project-name</code>
Ini akan membuat fail go.mod
dalam direktori projek anda.
Menambah Ketergantungan: Apabila anda perlu menambah kebergantungan baru, anda boleh menggunakan perintah go get
. Sebagai contoh, untuk menambah logrus
:
<code class="sh">go get github.com/sirupsen/logrus</code>
Ini akan mengemas kini fail go.mod
dan memuat turun pakej.
Versi: Anda boleh menentukan versi kebergantungan dalam fail go.mod
anda. Contohnya:
<code class="go">module your-project-name go 1.17 require github.com/sirupsen/logrus v1.8.1</code>
Ini memastikan semua orang yang bekerja pada projek menggunakan versi logrus
yang sama.
Mengemas kini kebergantungan: Untuk mengemas kini semua kebergantungan kepada siaran kecil atau patch terbaru mereka, jalankan:
<code class="sh">go get -u</code>
Untuk mengemaskini versi utama terkini, anda mungkin perlu menentukan versi secara eksplisit.
go mod vendor
untuk membuat direktori vendor
. Ini mengandungi semua kebergantungan projek anda, yang boleh komited untuk mengawal versi.Beberapa alat boleh membantu dengan pengurusan pakej di GO, menjadikan proses lebih cekap dan kurang rawan kesilapan. Berikut adalah beberapa yang paling berguna:
go mod
): Modul GO, yang diperkenalkan di GO 1.11, adalah penyelesaian pengurusan ketergantungan rasmi untuk GO. Ia menggunakan fail go.mod
untuk mengesan kebergantungan dan versi. Perintah utama termasuk go mod init
, go mod tidy
, dan go mod vendor
. GoProxy: GoProxy adalah perkhidmatan yang boleh digunakan untuk muat turun modul proksi Go. Ia membantu dalam menguruskan dan mengelakkan kebergantungan. Anda boleh menetapkannya menggunakan pembolehubah persekitaran GOPROXY
:
<code class="sh">export GOPROXY=https://proxy.golang.org,direct</code>
Gosumdb: Gosumdb adalah perkhidmatan yang membantu mengesahkan integriti kebergantungan. Ia memastikan bahawa modul yang anda muat turun tidak diganggu. Anda boleh mengkonfigurasinya menggunakan pembolehubah persekitaran GOSUMDB
:
<code class="sh">export GOSUMDB=sum.golang.org</code>
dep
adalah alat pengurusan ketergantungan yang digunakan secara meluas. Ia masih boleh berguna untuk menguruskan projek warisan. Senarai Go: Perintah go list
boleh membantu anda memeriksa kebergantungan anda. Sebagai contoh, untuk melihat semua kebergantungan langsung dan tidak langsung anda:
<code class="sh">go list -m all</code>
Dengan menggunakan alat ini, anda boleh menguruskan pakej Go anda dengan lebih berkesan, memastikan projek anda tetap terkini dan selamat.
Atas ialah kandungan terperinci Bagaimana anda membuat dan menggunakan pakej di GO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!