Rumah > pembangunan bahagian belakang > Golang > Bagaimana Menstrukturkan Modul dan Projek Go dengan Betul dalam Go 1.11 dan Beyond?

Bagaimana Menstrukturkan Modul dan Projek Go dengan Betul dalam Go 1.11 dan Beyond?

Susan Sarandon
Lepaskan: 2024-12-15 18:25:15
asal
238 orang telah melayarinya

How to Properly Structure Go Modules and Projects in Go 1.11 and Beyond?

Cara Menstruktur Modul Golang dan Struktur Projek dengan Cara Baharu

Dalam sistem modul dikemas kini yang diperkenalkan dalam Go 1.11, pendekatan rujukan modul daripada direktori yang berbeza telah berkembang. Mari kita terokai cara untuk mencapai ini dengan cara baharu.

Cara Lama

Sebelum ini, modul perlu diletakkan dalam GOPATH untuk digunakan. Biasanya, folder telah dibuat dalam GOPATH untuk setiap projek. Segala-galanya dalam direktori "src" boleh diimport dan dieksport ke dalam perisian.

Sebagai contoh, pertimbangkan struktur projek berikut:

github.ibm.com/
└── Alessio-Savi
    └── GoLog-Viewer
        ├── conf
        ├── database
        ├── datastructure
        ├── GinProva.go
        ├── README.md
        ├── request
        └── resources
Salin selepas log masuk

Untuk mengimport fail datastructure.go, pernyataan berikut boleh digunakan:

import(
    "github.ibm.com/Alessio-Savi/GoLog-Viewer/datastructure"
)
Salin selepas log masuk

Cara Baharu

Dengan pengenalan modul go, penggunaan GOPATH tidak lagi diperlukan. Sebaliknya, arahan 'go mod init' boleh digunakan untuk memulakan modul baharu. Ini menghasilkan dua fail: go.mod dan go.sum.

Fail go.mod menyenaraikan perpustakaan yang diperlukan dan kod Go luaran yang diperlukan untuk modul, manakala go.sum mengandungi cincangan perpustakaan tersebut.

Sebagai contoh, pertimbangkan pustaka GoGPUtils:

mkdir GoGPUtils
cd $_
go mod init github.com/alessiosavi/GoGPUtils
Salin selepas log masuk

Fail go.mod akan kelihatan seperti ini:

module github.com/alessiosavi/GoGPUtils

go 1.13

require (
    github.com/alessiosavi/ahocorasick v0.0.3
    golang.org/x/tools v0.0.0-20191031220737-6d8f1af9ccc0 // indirect
)
Salin selepas log masuk

Untuk mengimport perpustakaan ahocorasick dalam modul, pernyataan berikut boleh digunakan:

import (
    ahocorasick "github.com/alessiosavi/ahocorasick"
)
Salin selepas log masuk

Dalam senario contoh anda, untuk mengakses modul2 daripada modul1, anda perlu untuk memasukkan laluan ke modul2 dalam fail go.mod modul1. Contohnya:

require (
    github.com/your-username/module2 v0.0.1
)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana Menstrukturkan Modul dan Projek Go dengan Betul dalam Go 1.11 dan Beyond?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan