Rumah >pembangunan bahagian belakang >Golang >Bagaimana Menyusun Kod Go dengan Berkesan Menggunakan Pakej Dalaman dengan Modul?

Bagaimana Menyusun Kod Go dengan Berkesan Menggunakan Pakej Dalaman dengan Modul?

Susan Sarandon
Susan Sarandonasal
2024-12-25 14:12:24896semak imbas

How to Effectively Organize Go Code Using Internal Packages with Modules?

Memahami Pakej Dalaman dan Penggunaannya

Soalan:

Bagaimana cara saya mengatur kod Go dengan berkesan menggunakan pakej "dalaman" ?

Awal Masalah:

Walaupun meletakkan projek di luar GOPATH, pengimportan pakej dalaman daripada main.go gagal, melainkan laluan relatif digunakan (cth., "./internal/foo|bar").

Pengenalan Modul:

Dengan pengenalan modul dalam Go v1.11 dan ke atas, meletakkan projek di dalam $GOPATH/src tidak lagi diperlukan. Sebaliknya, anda perlu mencipta fail go.mod untuk menentukan lokasi setiap modul.

Contoh:

Pertimbangkan struktur projek berikut:

project/
  go.mod
  main.go

  internal/
    bar/
      bar.go
      go.mod
    foo/
      foo.go
      go.mod

Fail go.mod:

Fail go.mod untuk dalaman pakej adalah mudah:

module bar

go 1.14
module foo

go 1.14

Kod dalam Pakej Dalaman:

// bar.go
package bar

import "fmt"

// Bar prints "Hello from Bar"
func Bar() {
    fmt.Println("Hello from Bar")
}

// foo.go
package foo

import "fmt"

// Foo prints "Hello from Foo"
func Foo() {
    fmt.Println("Hello from Foo")
}

main.go:

// main.go
package main

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

func main() {
    bar.Bar()
    foo.Foo()
}

Projek go.mod Fail:

The fail project go.mod memberitahu Go tentang pakej dalaman dan lokasinya:

module project

go 1.14

require internal/bar v1.0.0
replace internal/bar => ./internal/bar
require internal/foo v1.0.0
replace internal/foo => ./internal/foo

Nota Penting:

  • Nama dalam bahagian memerlukan adalah untuk Penggunaan dalaman Go dan boleh sewenang-wenangnya.
  • Nombor versi dalam bahagian memerlukan tidak penting dalam hal ini konteks.
  • Baris ganti menentukan tempat Go boleh mencari pakej dalaman.

Pelaksanaan:

Menjalankan fail main.go akan sekarang cetak:

Hello from Bar
Hello from Foo

Contoh ini menunjukkan cara menggunakan pakej dalaman dengan berkesan dalam projek Go menggunakan modul.

Atas ialah kandungan terperinci Bagaimana Menyusun Kod Go dengan Berkesan Menggunakan Pakej Dalaman dengan Modul?. 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