Тарҳрезии интерфейси ҷамъиятӣ (API) барои китобхона барои нусхабардории файлҳо дар Go — сарлавҳаҳои функсияҳо ва намудҳо, то ҳадди имкон қулай барои таҳиягарон.
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.