Menstrukturkan Subpakej untuk Go on Google Cloud Functions
Menggunakan Go Cloud Functions selalunya memerlukan perkongsian logik pembantu merentas pelbagai fungsi. Untuk mengoptimumkan ini, subpakej boleh digunakan untuk menyusun kod kongsi dalam projek yang sama.
Penyelesaian: Modul dan Subpakej Go
Modul Go menyediakan sistem pengurusan pergantungan yang membolehkan takrif pakej di bawah awalan laluan import biasa. Ini membenarkan fungsi dalam modul untuk mengakses subpakej menggunakan laluan yang diimport.
Struktur Fail:
Berikut ialah contoh struktur fail untuk merujuk subpakej dalam Fungsi Awan:
. ├── cmd │ └── main.go # Testing/debugging entry point ├── function.go # Imports and uses example.com/foo/helperpackage ├── function_test.go ├── go.mod # Module: example.com/foo └── helperpackage └── helper.go
Mengimport Subpakej:
Dalam function.go, pakej pembantu boleh diimport menggunakan:
import example.com/foo/helperpackage
Ujian:
Direktori cmd boleh digunakan untuk ujian tempatan. Fungsi utama boleh mengimport example.com/foo dan mendaftarkan fungsi sebagai pengendali HTTP:
package main import ( "log" "net/http" "example.com/foo" ) func main() { http.Handle("/HelloHTTP", foo.HelloHTTP) log.Fatal(http.ListenAndServe(":8080", nil)) }
Pendekatan Alternatif (Tidak Disyorkan):
Menggunakan vendor direktori juga boleh digunakan untuk perkongsian subpakej, tetapi ia memerlukan menyalin semua pakej yang diimport ke dalam direktori dengan laluan import penuhnya, yang boleh menyusahkan dan kecil hati.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menstrukturkan Subpakej dengan Berkesan untuk Kod Go dalam Fungsi Awan Google?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!