Cara Mengimport Subpakej dalam Go: Apa yang Perlu Dilakukan Apabila Anda Mendapat Ralat \'No Go Files\'?

DDD
Lepaskan: 2024-11-18 19:29:02
asal
238 orang telah melayarinya

How to Import Subpackages in Go:  What to Do When You Get the

Mengimport Subpakej dengan Go: Menangani Ralat "No Go Files"

Dalam Go, mengimport subpakej dengan merujuk direktori induknya bukan secara langsung disokong. Walau bagaimanapun, terdapat pendekatan alternatif untuk menangani mesej ralat biasa "fail tiada Go dalam [direktori induk]."

Pertimbangkan senario berikut:

package main

import "one/entities/bar"

func main() {

}
Salin selepas log masuk

Dengan struktur direktori ini:

- one
   - entities
      - bar
         - file.go
Salin selepas log masuk

Apabila cuba membina projek menggunakan go install main, ralat timbul yang menunjukkan ketiadaan fail Go dalam direktori subpakej. Untuk menyelesaikan isu ini, anda tidak boleh mengimport subpakej menggunakan sintaks kad bebas kerana pernyataan import memerlukan nama atau laluan pakej yang jelas.

Untuk mengimport subpakej dengan betul, anda harus mengimport setiap subpakej secara individu. Contohnya, untuk mengimport subpakej bar, anda akan mengubah suai fail main.go seperti berikut:

package main

import (
    "one/entities/bar/file1"
    "one/entities/bar/file2"
)

func main() {

}
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan laluan import tersuai untuk mengumpulkan subpakej berkaitan di bawah satu penyata import. Ini boleh meningkatkan kebolehbacaan dan mengurangkan bilangan baris import. Untuk mencapai ini, cipta direktori bernama import dalam direktori satu/entiti dan letakkan fail bernama init.go di dalamnya. Dalam fail init.go, tentukan laluan import tersuai dan import subpakej yang diingini:

// import/init.go
package entities

import (
    _ "one/entities/bar/file1"
    _ "one/entities/bar/file2"
)
Salin selepas log masuk

Kemudian, dalam fail main.go anda, import pakej entiti menggunakan laluan import tersuai:

// main.go
package main

import (
    "log"
    "one/entities"
)

func main() {
    v := entities.Bar_file1.Get.Basic.Req.Headers{}
    log.Fatal(v)
}
Salin selepas log masuk

Dengan mengikut pendekatan ini, anda boleh mengimport subpakej dengan betul dalam Go, menyelesaikan ralat "no Go files" dan mengatur import anda untuk kebolehbacaan kod yang lebih baik.

Atas ialah kandungan terperinci Cara Mengimport Subpakej dalam Go: Apa yang Perlu Dilakukan Apabila Anda Mendapat Ralat \'No Go Files\'?. 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