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
Susan Sarandonasal
2024-12-15 18:25:15232semak imbas

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

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

import(
    "github.ibm.com/Alessio-Savi/GoLog-Viewer/datastructure"
)

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

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
)

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

import (
    ahocorasick "github.com/alessiosavi/ahocorasick"
)

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
)

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!

Kenyataan:
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