Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Mengimport Subpakej dalam Go: Apa yang Perlu Dilakukan Apabila Anda Mendapat Ralat \'No Go Files\'?

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

DDD
DDDasal
2024-11-18 19:29:02233semak imbas

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() {

}

Dengan struktur direktori ini:

- one
   - entities
      - bar
         - file.go

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() {

}

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"
)

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)
}

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!

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