Belajar GO : - Pakej

Susan Sarandon
Lepaskan: 2024-11-20 20:04:16
asal
461 orang telah melayarinya

Hei! Saya sedang belajar Go Lang, dan saya mengambil beberapa Nota asas mengenai Pengertian saya dan walaupun saya baru sahaja menerbitkannya di sini. Mereka tidak difikirkan dengan baik atau ditulis dengan baik tetapi saya hanya mencatat nota dari semasa ke semasa untuk rujukan saya.

Saya sedang mengikuti Kursus Udemy oleh Maximilian Schwarzmüller,


Nota

  • Kami boleh membahagi kod dalam berbilang fail, kemudian membahagikan fail tersebut dalam berbilang pakej
  • maka kita boleh menggunakan pakej tersebut dalam projek keluar
  • Nampaknya sama seperti membuat komponen, membahagikan kod kepada berbilang fail untuk mengendalikan kod dengan cara yang lebih baik, dengan cara itu kami juga boleh membuat pakej kami sendiri

Mencipta Pakej

  • kita hanya boleh mencipta fail .go baharu
  • setiap fail go mestilah sebahagian daripada pakej
  • setiap kali kami mengisytiharkan fail dalam pakej yang sama dengan fail lain maka kami boleh terus menggunakan fungsi dalam mana-mana fail pakej yang sama
  • cth., kami mencipta fail dengan fungsi, untuk memanggil fungsi itu dalam fail yang berbeza, kami boleh mempunyai kedua-dua fail dalam pakej yang sama, dan kemudian terus memanggil fungsi itu
  • Import tidak dihantar terus melalui pakej
  • jadi kita perlu mengimport pakej lain yang sedang digunakan dalam fungsi fail go baharu
  • Jika anda mencipta berbilang fail ke dalam pakej, maka anda boleh menggunakan pakej itu ke dalam projek yang berbeza, dengan cara itu anda boleh mempunyai pakej yang mempunyai kod yang anda gunakan berulang kali kemudian kod itu masuk ke dalam pakej dan pakej itu boleh digunakan dalam projek lain untuk tujuan yang sama

Pakej Tersuai

  • Untuk membuat pakej tersuai, kami perlu mencipta folder baharu untuk pakej tersebut
  • nama folder hendaklah sama dengan pakej
  • nama fail boleh berbeza, tidak perlu sama dengan pakej
package fileops

import (
    "errors"
    "fmt"
    "os"
    "strconv"
)

func writeFloatToFile(value float64, fileName string) {
    valueText := fmt.Sprint(value)
    os.WriteFile(fileName, []byte(valueText), 0644)
}
Salin selepas log masuk
Salin selepas log masuk

Learning GO : - Packages

  • Di sini saya mempunyai pakej bernama fileops yang mana saya mempunyai nama folder fileops yang mengandungi fail
  • fail itu boleh dinamakan apa-apa sahaja, di atas fail saya mengisytiharkan nama pakej yang merupakan sebahagian daripada fail saya

Menggunakan pakej

  • untuk menggunakan pakej tersuai ini, anda perlu mengimportnya, prosesnya sama seperti pakej terbina lain
  • tetapi dalam kes ini anda perlu menunjukkan laluan yang sama seperti fail go.mod
package main

import (
    "fmt"
    "example.com/bank/fileops"
)
Salin selepas log masuk
Salin selepas log masuk
  • di sini contoh.com/bank berasal daripada fail go.mod yang dibuat semasa membuat projek

Learning GO : - Packages

Mengeksport Mengenalpasti - Pembolehubah, fungsi, dll…

  • jika anda menggunakan beberapa fungsi daripada pakej yang berbeza, dan anda telah mencipta pakej itu, anda perlu mengeksport fungsi tersebut
  • Untuk mengeksport sesuatu daripada pakej, yang akan ditakrifkan dengan cara supaya nama itu bermula daripada huruf besar
package fileops

import (
    "errors"
    "fmt"
    "os"
    "strconv"
)

func writeFloatToFile(value float64, fileName string) {
    valueText := fmt.Sprint(value)
    os.WriteFile(fileName, []byte(valueText), 0644)
}
Salin selepas log masuk
Salin selepas log masuk
  • ini berfungsi sama seperti kata kunci eksport dalam JavaScript, di mana kami mentakrifkan fungsi atau pembolehubah dengan kata kunci eksport dan secara eksplisit, mentakrifkannya, pembolehubah atau fungsi itu perlu dieksport dan boleh digunakan dalam fail lain
  • Jadi penamaan fungsi atau pembolehubah boleh menentukan sama ada sesuatu dieksport atau tidak
package main

import (
    "fmt"
    "example.com/bank/fileops"
)
Salin selepas log masuk
Salin selepas log masuk
  • Go mempunyai Direktori Pakej sendiri dari mana kita boleh mendapatkan beberapa pakej yang boleh digunakan, kadang-kadang terdapat beberapa ciri yang kita mungkin tidak mahu buat dari awal dan kemudian kita boleh menggunakan "Pakej Luaran" yang tersedia untuk GO .
  • Ini adalah konsep yang sama seperti Pakej NPM

Menggunakan Pakej Luaran

  • Terdapat Perintah Go yang akan menambahkan pakej ke secara global pada sistem anda.
func WriteFloatToFile(value float64, fileName string) {}
func GetFLoatFromFile(fileName string) (float64, error) {}
Salin selepas log masuk
  • Apabila kami menjalankan arahan ini, fail go.mod akan ditukar dan pakej akan disenaraikan di sana, semua kebergantungan pihak ketiga akan disenaraikan di sana
package main

import (
    "fmt"

    "example.com/bank/fileops"
)
fileops.WriteFloatToFile(accountBalance, accountBalanceFile)  
Salin selepas log masuk
  • Untuk menggunakan pakej, kita boleh menentukan laluan import dalam fail go di mana kita mahu menggunakannya, laluan Import adalah sama dengan pautan github kerana ia disimpan pada fail go.mod
go get github.com/Pallinder/go-randomdata
Salin selepas log masuk
  • Selepas itu proses penggunaan adalah sama, kami menggunakan data rawak. untuk mendapatkan semua kaedah dan merujuk halaman pakej dari tapak rasmi dan untuk menyemak semua kaedah yang boleh kami gunakan.
module example.com/bank

go 1.22.1

require github.com/Pallinder/go-randomdata v1.2.0 // indirect
Salin selepas log masuk

Atas ialah kandungan terperinci Belajar GO : - Pakej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan