Hello!
I'm writing a library to simplify and optimize operations with files (everything is a file): https://github.com/cnaize/pipe Example: func main() { // create a pipeline pipeline := pipes.Line( // set execution timeout common.Timeout(time.Second), // open two example files localfs.OpenFiles("testdata/test_0.txt", "testdata/test_1.txt"), // calculate and compare hash for each file hash.SumSha256("kEvuni09HxM1ox-0nIj7_Ug1Adw0oIU62ukuh49oi5c=", "CeE_WA_xKsx2Dj_sRvowaCeDfQOPviSpyjaZdxuCT4Y="), // zip the files archive.ZipFiles(), // calculate hash for the zip archive hash.SumSha256(""), // create a temporary directory localfs.MakeDirAll("testdata/tmp", os.ModePerm), // create a new file localfs.CreateFiles("testdata/tmp/test.zip"), // flow the files through the pipes and keep metadata state.Consume(), ) // run the pipeline res, _ := pipeline.Run(context.Background(), nil) // iterate over result files and print metadata for file := range res.Files { fmt.Printf("--> Result file:\n\tName: %s\n\tSize: %d\n\tHash: %s\n", file. Name, file.Size, file.Hash) } } Output: --> Result file: Name: testdata/tmp/test.zip Size: 1047 Hash: Yg3OOaBD-miLs7lDIBVAeZMZIXYfy2N25f8-b-1kWOc= Please, take a look, any feedback is welcome, thanks! -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/golang-nuts/bcda3aef-26cd-4466-94fb-e229bb9cc389n%40googlegroups.com.