Izstrādājiet publisku (API) bibliotēkas saskarni kopēšanai failus Go valodā — funkciju un tipu virsrakstus, pēc iespējas ērtākus izstrādātājiem.
sobes.tech AI
Atbilde no AI
go package filecopy
import "io"
// CopyFile kopē failu no src uz dst. // Ja dst neeksistē, tiek izveidots jauns fails. // Atgriež kopēto baitu skaitu un kļūdu, ja tāda ir. func CopyFile(srcPath, dstPath string) (int64, error)
// CopyFileWithOptions kopē failu ar papildu opcijām. // Piemēram, var norādīt buferi, vai pārrakstīt failu, kopēt atļaujas utt. type CopyOptions struct { Overwrite bool // vai pārrakstīt failu, ja tas eksistē BufferSize int // kopēšanas bufera izmērs, 0 — izmantot noklusējuma vērtību PreservePermissions bool // kopēt atļaujas }
func CopyFileWithOptions(srcPath, dstPath string, opts CopyOptions) (int64, error)
// Copy kopē datus no io.Reader uz io.Writer ar opcijām. // Atļauj kopēt ne tikai failus, bet arī jebkādus datu plūsmas. func Copy(dst io.Writer, src io.Reader, opts CopyOptions) (int64, error)
Šis interfeiss ir ērts, jo:
- Ir vienkārša CopyFile metode pamata failu kopēšanai.
- Ir paplašināta metode ar opcijām precīzākai konfigurācijai.
- Ir universāls Copy datu plūsmām, kas palielina elastību.
- Tiek izmantoti saprotami tipi un nosaukumi, atbilstoši Go stilam: