Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Menguasai kemahiran menggunakan pakej Golang

Menguasai kemahiran menggunakan pakej Golang

王林
王林asal
2024-01-16 11:13:06651semak imbas

Menguasai kemahiran menggunakan pakej Golang

Pemahaman mendalam tentang cara menggunakan pakej Golang memerlukan contoh kod khusus

Dalam bahasa Go, pakej ialah unit asas untuk mengatur dan mengurus kod. Satu pakej boleh mengandungi berbilang fail sumber Go (dengan sambungan .go), yang bersama-sama membentuk unit berfungsi. Penggunaan pakej membolehkan kami menyusun kod dengan lebih baik, meningkatkan kebolehgunaan semula kod dan memudahkan kerjasama pasukan. Artikel ini akan memperkenalkan cara memahami penggunaan pakej Golang secara mendalam dan memberikan contoh kod khusus.

  1. Import pakej

Dalam bahasa Go, jika anda ingin menggunakan kod dalam pakej lain, anda mesti mengimport pakej ini terlebih dahulu. Pakej boleh diimport melalui kata kunci import. Anda boleh mengimport pakej daripada perpustakaan standard, atau anda boleh mengimport pakej tersuai. Contohnya:

import (
    "fmt"
    "log"
    "github.com/example/mypackage"
)

Apabila mengimport pakej, anda juga boleh memberikan pakej yang diimport sebagai alias. Contohnya:

import (
    "fmt"
    mylog "log"
    mypkg "github.com/example/mypackage"
)

Menggunakan alias boleh mengelakkan masalah konflik nama pakej dan menyatakan maksud kod dengan lebih baik.

  1. Keterlihatan pakej

Dalam bahasa Go, pengecam (pembolehubah, fungsi, jenis, dll.) dalam pakej boleh dieksport (kelihatan) atau tidak dieksport. Jika pengecam bermula dengan huruf besar, maka ia dieksport dan boleh digunakan oleh pakej lain jika ia bermula dengan huruf kecil, maka ia tidak dieksport dan hanya boleh digunakan dalam pakej semasa.

Sebagai contoh, katakan kita mempunyai pakej bernama mypackage, yang mentakrifkan fungsi dan pembolehubah:

package mypackage

func Add(a, b int) int {
    return a + b
}

var Name string = "mypackage"

Gunakan pakej ini dalam pakej lain:

package main

import (
    "fmt"
    "github.com/example/mypackage"
)

func main() {
    sum := mypackage.Add(2, 3)
    fmt.Println(sum) // 输出:5

    fmt.Println(mypackage.Name) // 编译错误,Name是未导出的
}
  1. Initialization of package

Dalam bahasa Go, pakej Operasi permulaan akan dilakukan secara automatik apabila program dilaksanakan. Operasi pemulaan pakej hanya akan dilakukan sekali, tidak kira berapa kali pakej diimport. Pakej dimulakan dalam susunan pergantungan. Sebagai contoh, jika pakej A bergantung pada pakej B, maka pakej B akan dimulakan sebelum pakej A dimulakan. . mereka mengikut susunan pengisytiharan.

Kemudian laksanakan fungsi init peringkat pakej dalam susunan pengisytiharan.

    package mypackage
    
    import "fmt"
    
    var Var1 = 10
    var Var2 = calculateVar2()
    
    func calculateVar2() int {
        return Var1 * 2
    }
    
    func init() {
        fmt.Println("mypackage initialization")
        fmt.Println(Var1, Var2)
    }
    
    func Add(a, b int) int {
        return a + b
    }
  • Gunakan pakej ini dalam program utama:
  • package main
    
    import (
        "github.com/example/mypackage"
    )
    
    func main() {
        sum := mypackage.Add(2, 3)
        println(sum) // 输出:5
    }
  • Jalankan program ini dan anda akan mendapat output berikut:
  • mypackage initialization
    10 20
    5

Pengujian pakej

  1. Dalam bahasa Go, kita boleh menulis kod ujian untuk setiap pakej, dan Kod ujian boleh diletakkan dalam pakej yang sama seperti fail kod biasa. Nama fail kod ujian mesti berakhir dengan _test.go supaya alat ujian bahasa Go boleh mengenalinya.
  2. Nama fungsi ujian mesti bermula dengan Ujian dan menerima parameter jenis *pengujian.T. Contohnya:
  3. package mypackage
    
    import (
        "testing"
    )
    
    func TestAdd(t *testing.T) {
        sum := Add(2, 3)
        if sum != 5 {
            t.Errorf("Add(2, 3) = %d; want 5", sum)
        }
    }
Laksanakan arahan go test dalam direktori akar pakej untuk menjalankan semua ujian pakej:

$ go test

Jika ujian lulus, ia akan mengeluarkan:

PASS
ok      mypackage   0.003s

Jika mana-mana ujian gagal, maklumat kegagalan akan keluaran.
  1. Ringkasnya, anda perlu memberi perhatian kepada perkara berikut untuk memahami dengan mendalam cara menggunakan pakej Golang:

Anda boleh memberikan pakej alias semasa mengimportnya untuk mengelakkan konflik nama pakej.

Peraturan keterlihatan pakej hendaklah jelas, pengecam yang dieksport boleh digunakan oleh pakej lain.

Pemulaan pakej dilakukan dalam susunan pergantungan.

Anda boleh menulis kod ujian untuk setiap pakej dan menjalankan ujian melalui arahan go test.

Saya berharap melalui pengenalan artikel ini, pembaca akan mendapat pemahaman yang lebih mendalam tentang cara menggunakan pakej Golang dan dapat menggunakannya secara fleksibel dalam pembangunan sebenar.

Atas ialah kandungan terperinci Menguasai kemahiran menggunakan pakej Golang. 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