Go тилинде файлдарды көчүрүү үчүн китепкананын коомдук интерфейсин (API) долбоорлоо — функциялар жана түрлөрдүн башталыштары, иштеп чыгуучулар үчүн мүмкүн болушунча ыңгайлуу.
sobes.tech AI
AIден жооп
go package filecopy
import "io"
// CopyFile src-ден dst-ге файл көчүрөт. // Эгер dst жок болсо, жаңы файл түзүлөт. // Көчүрүлгөн байттардын санын жана ката болсо, аны кайтарат. func CopyFile(srcPath, dstPath string) (int64, error)
// CopyFileWithOptions кошумча опциялар менен файлды көчүрөт. // Мисалы, буферди белгилөө, файлды кайра жазуу, уруксаттарды көчүрүү жана башка. type CopyOptions struct { Overwrite bool // файл бар болсо, кайра жазуу BufferSize int // көчүрүү үчүн буфердин өлчөмү, 0 — алдын ала белгиленген маанини колдонуу PreservePermissions bool // уруксаттарды көчүрүү }
func CopyFileWithOptions(srcPath, dstPath string, opts CopyOptions) (int64, error)
// Copy маалыматтарды io.Reader-ден io.Writer-ге опциялар менен көчүрөт. // Бул гана эмес, ар кандай маалымат агымдарын көчүрүүгө мүмкүндүк берет. func Copy(dst io.Writer, src io.Reader, opts CopyOptions) (int64, error)
Бул интерфейс ыңгайлуу, себеби:
- Негизги файлдарды көчүрүү үчүн оңой CopyFile методу бар.
- Жакшыраак жөндөөлөр үчүн кеңейтилинген ыкма бар.
- Агымдар үчүн универсалдуу Copy бар, бул ийкемдүүлүктү арттырат.
- Түшүнүктүү түрлөр жана аттар колдонулат, Go стилине ылайык: