Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Menggunakan dan Mengimport Pakej Dalaman dengan Betul dalam Go?

Bagaimanakah Saya Boleh Menggunakan dan Mengimport Pakej Dalaman dengan Betul dalam Go?

Patricia Arquette
Lepaskan: 2024-12-17 14:13:10
asal
902 orang telah melayarinya

How Can I Properly Use and Import Internal Packages in Go?

Memahami Penggunaan Pakej Dalaman dalam Go

Apabila mengatur kod Go, pakej dalaman menawarkan cara untuk mengekalkan modulariti dan enkapsulasi dalam projek. Dalam struktur kod yang diberikan, pakej "dalaman" dibuat dalam direktori "projek".

Tidak Termasuk Pakej Dalaman daripada Import Luaran

Walau bagaimanapun, seperti yang dinyatakan , mengimport daripada pakej dalaman di luar direktori induknya tidak boleh dilakukan. Ini kerana pakej dalaman tidak dieksport dan hanya boleh diakses dari dalam pokok sumber projek. Import luaran dari luar direktori projek hanya akan berfungsi untuk pakej yang terletak dalam pepohon $GOPATH/src.

Menyelesaikan Isu Import

Untuk menyelesaikan isu import, direktori projek boleh diletakkan di bawah $GOPATH/src. Ini memastikan bahawa pakej dalaman boleh diakses oleh pakej utama yang terletak di "project/main.go."

Sokongan Modul dengan Go v1.11 dan Ke Atas

Sebagai alternatif, dengan pengenalan modul dalam Go v1.11 dan lebih baru, anda boleh menentukan modul untuk projek anda dengan mencipta fail go.mod. Fail ini menentukan lokasi setiap modul dalam projek anda. Berikut ialah contoh cara ia akan disediakan:

project/
    go.mod
    main.go
    
    internal/
        bar/
            bar.go
            go.mod
        
        foo/
            foo.go
            go.mod
Salin selepas log masuk

go.mod untuk projek/dalaman/bar:

module bar

go 1.14
Salin selepas log masuk

bar. pergi:

package bar

import "fmt"

// Bar prints "Hello from Bar"
func Bar() {
    fmt.Println("Hello from Bar")
}
Salin selepas log masuk

go.mod untuk projek/dalaman/foo:

module foo

go 1.14
Salin selepas log masuk

foo.go:

package foo

import "fmt"

// Foo prints "Hello from Foo"
func Foo() {
    fmt.Println("Hello from Foo")
}
Salin selepas log masuk

main.go:

package main

import (
    "project/internal/bar"
    "project/internal/foo"
)

func main() {
    bar.Bar()
    foo.Foo()
}
Salin selepas log masuk

Dalam persediaan ini, fail go.mod mentakrifkan laluan modul dan maklumat pergantungan untuk setiap pakej dalaman. Pernyataan gantian memastikan bahawa Go mengetahui tempat untuk mencari pakej dalaman, walaupun ia berada di luar pepohon $GOPATH/src standard.

Dengan pendekatan ini, anda boleh mengatur kod anda dengan mudah menggunakan pakej dalaman dan mengaksesnya dengan lancar daripada pakej utama, menyediakan kedua-dua modulariti dan kebolehaksesan dalam projek anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan dan Mengimport Pakej Dalaman dengan Betul dalam Go?. 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