Golang ialah bahasa pengaturcaraan sumber terbuka yang digunakan secara meluas untuk pembangunan perkhidmatan rangkaian, aplikasi konkurensi tinggi dan perkhidmatan awan. Apabila menulis projek dalam golang, struktur direktori yang baik boleh menjadikan projek itu lebih jelas dan lebih mudah untuk diselenggara Hari ini kita akan membincangkan tetapan struktur direktori golang.
Membahagikan projek mengikut modul berfungsi ialah tetapan struktur direktori biasa dalam golang. Kaedah khusus adalah untuk mencipta berbilang subdirektori dalam direktori akar projek, setiap subdirektori sepadan dengan modul berfungsi. Contohnya, contoh berikut:
myproject/ ├── cmd/ │ ├── server/ │ │ ├── main.go │ ├── client/ │ │ ├── main.go ├── pkg/ │ ├── user/ │ │ ├── user.go │ ├── util/ │ │ ├── util.go ├── internal/ │ ├── auth/ │ │ ├── auth.go │ ├── db/ │ │ ├── db.go ├── vendor/ ├── go.mod ├── go.sum
Dalam struktur di atas, kami membahagikan projek kepada tiga bahagian: cmd
, pkg
dan internal
mengikut modul berfungsi projek:
cmd
menyimpan alatan baris arahan yang boleh dijalankan secara langsung, seperti program pelayan server
dan program klien client
. Kod logik perniagaan projek disimpan dalam direktori pkg
, yang dibahagikan mengikut modul berfungsi, seperti modul user
dan modul util
. Kod dalaman projek disimpan dalam direktori internal
, yang hanya digunakan dalam projek dan tidak akan digunakan oleh pakej luaran. Perlu diperhatikan bahawa walaupun fungsi direktori pkg
dan internal
kelihatan sangat serupa, perbezaannya ialah kod dalam direktori pkg
boleh digunakan oleh pakej luaran, manakala internal
Kod dalam direktori hanya boleh digunakan dalam projek ini.
Membahagikan kod mengikut jenis ialah satu lagi cara biasa untuk menyediakan struktur direktori golang. Kaedah khusus adalah untuk mencipta berbilang subdirektori dalam direktori akar projek, setiap subdirektori sepadan dengan jenis kod. Contohnya, contoh berikut:
myproject/ ├── cmd/ │ ├── main.go ├── pkg/ │ ├── http/ │ │ ├── server.go │ │ ├── router.go │ ├── database/ │ │ ├── db.go │ ├── log/ │ │ ├── log.go ├── vendor/ ├── go.mod ├── go.sum
Dalam struktur di atas, kami membahagikannya kepada tiga bahagian: cmd
, pkg
dan vendor
mengikut jenis kod:
cmd
. Direktori main.go
pkg
, letakkan kod berkaitan pangkalan data dalam direktori http
, dsb. Direktori database
vendor
myproject/ ├── cmd/ │ ├── main.go ├── pkg/ │ ├── models/ │ │ ├── user.go │ ├── views/ │ │ ├── index.gohtml │ ├── controllers/ │ │ ├── user.go ├── vendor/ ├── go.mod ├── go.sum
, models
dan views
mengikut corak MVC: controllers
models
views
controllers
Atas ialah kandungan terperinci tetapan direktori golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!