package main import ( "fmt" "io" "os" ) func check(e error) { if e != nil { panic(e) } } func copyFile(src, dst string) error { // Open the source file sourceFile, err := os.Open(src) if err != nil { return fmt.Errorf("failed to open source file: %w", err) } defer sourceFile.Close() // Create the destination file destinationFile, err := os.Create(dst) if err != nil { return fmt.Errorf("failed to create destination file: %w", err) } defer destinationFile.Close() // Copy the content _, err = io.Copy(destinationFile, sourceFile) if err != nil { return fmt.Errorf("failed to copy file: %w", err) } // Flush file metadata to disk err = destinationFile.Sync() if err != nil { return fmt.Errorf("failed to sync destination file: %w", err) } return nil }