Sobes.tech
Senior

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: