tetapan direktori golang

WBOY
Lepaskan: 2023-05-22 16:08:07
asal
664 orang telah melayarinya

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.

  1. Membahagi mengikut fungsi

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
Salin selepas log masuk

Dalam struktur di atas, kami membahagikan projek kepada tiga bahagian: cmd, pkg dan internal mengikut modul berfungsi projek:

  • Direktori 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 internalKod dalam direktori hanya boleh digunakan dalam projek ini.

  1. Bahagikan mengikut jenis kod

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
Salin selepas log masuk

Dalam struktur di atas, kami membahagikannya kepada tiga bahagian: cmd, pkg dan vendor mengikut jenis kod:

  • < Direktori 🎜> mengandungi fail masukan untuk program boleh laku, seperti cmd. Direktori main.go
  • dibahagikan mengikut jenis kod Contohnya, letakkan kod berkaitan HTTP dalam direktori pkg, letakkan kod berkaitan pangkalan data dalam direktori http, dsb. Direktori database
  • menyimpan pakej pihak ketiga yang menjadi tumpuan projek. vendor
Berbanding dengan kaedah pembahagian mengikut fungsi, kaedah pembahagian mengikut jenis kod ini lebih fleksibel, tetapi ia mungkin membawa kepada struktur direktori yang lebih mendalam dan memerlukan lebih banyak masa untuk mencari lokasi kod.

    Bahagikan mengikut corak MVC
Kebanyakan rangka kerja web menggunakan corak MVC (Model-View-Controller), dan ia juga sangat mudah untuk membahagikan atur cara mengikut kepada corak ini. Cara biasa untuk menyediakan struktur direktori golang. Contohnya, contoh berikut:

myproject/
├── cmd/
│   ├── main.go
├── pkg/
│   ├── models/
│   │   ├── user.go
│   ├── views/
│   │   ├── index.gohtml
│   ├── controllers/
│   │   ├── user.go
├── vendor/
├── go.mod
├── go.sum
Salin selepas log masuk
Dalam struktur di atas, kami membahagikannya kepada tiga bahagian:

, models dan views mengikut corak MVC: controllers

  • Kod lapisan model disimpan dalam direktori, biasanya kod yang berkaitan dengan pangkalan data. Direktori models
  • menyimpan kod lapisan paparan, biasanya templat halaman web, dsb. Direktori views
  • menyimpan kod lapisan pengawal, yang bertanggungjawab untuk menyambungkan lapisan model dan lapisan paparan. controllers
Cara pembahagian mengikut corak MVC ini boleh menjadikan kod lebih teratur dan lebih mudah diselenggara.

Ringkasnya, terdapat banyak cara untuk menetapkan direktori dalam golang, dan kaedah yang berbeza sesuai untuk projek yang berbeza. Kita boleh memilih kaedah tetapan direktori yang sepadan mengikut keperluan kita sendiri.

Atas ialah kandungan terperinci tetapan direktori golang. 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