Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Mengimport dan Menggunakan Struktur daripada Pakej Berbeza dalam Go?

Bagaimanakah Saya Mengimport dan Menggunakan Struktur daripada Pakej Berbeza dalam Go?

DDD
DDDasal
2024-12-09 14:24:18433semak imbas

How Do I Import and Use Structs from Different Packages in Go?

Mengimport Struktur daripada Pakej Berbeza dalam Go

Apabila bekerja dengan aplikasi kompleks yang menggunakan berbilang pakej dan fail, selalunya perlu menggunakan semula struktur data ditakrifkan di lokasi yang berasingan. Di Java, mudah untuk mengimport kelas daripada pakej lain. Walau bagaimanapun, Go mengambil pendekatan yang berbeza.

Mengimport Pakej

Tidak seperti Java, Go tidak mengimport langsung jenis atau fungsi. Sebaliknya, kami mengimport pakej. Pengisytiharan import membolehkan kami mengakses semua pengecam yang dieksport dalam pakej tersebut. Contohnya:

import "container/list"

Selepas mengimport pakej, kami boleh mengakses pengecam yang dieksport menggunakan nama pakej.Nama Pengecam:

var mylist *list.List = list.New()

Struktur Mengimport

Untuk mengimport struct yang ditakrifkan dalam pakej dan fail lain, hanya ikuti ini langkah:

  1. Isytiharkan pembolehubah jenis yang diingini dan mulakannya dengan fungsi pembina.
pq := &PriorityQueue{}
  1. (Pilihan) Import pakej yang mengandungi struct kalau belum diimport.
import (
    "path/to/package"
)

Contoh

Katakan kita mempunyai struct PriorityQueue yang ditakrifkan dalam fail berasingan:

package path/to/package

type PriorityQueue []*Item

type Item struct {
    value string
    priority int
    index int
}

Kepada gunakan struct ini dalam fail lain, kami boleh mengimport pakej dan mengisytiharkan PriorityQueue pembolehubah:

package main

import (
    "fmt"
    "path/to/package"
)

func main() {
    pq := &path/to/package.PriorityQueue{}

    // Use the PriorityQueue
    pq.Push(&path/to/package.Item{value: "item1", priority: 1})

    fmt.Println(pq)
}

Atas ialah kandungan terperinci Bagaimanakah Saya Mengimport dan Menggunakan Struktur daripada Pakej Berbeza dalam Go?. 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