Sample code for 30+ languages & platforms
Go

Zip -- Exclude Files Based on Wildcard Matching

See more Zip Examples

Demonstrates how to use the SetExclusions method to exclude matching files from being added to a .zip.

Chilkat Go Downloads

Go
    success := false

    zip := chilkat.NewZip()

    success = zip.NewZip("qa_output/x.zip")

    // Let's add files from the directory tree rooted at C:\AAWorkarea\ChilkatSampleProjects

    // However.. we want to exclude all files ending in ".cache" or ".pdb" regardless of the sub-directory.
    // Also exclude all files under any "obj" directory,
    // and we also want to exclude any .exe found under a "win10-x64" directory.

    saExcludes := chilkat.NewStringArray()
    saExcludes.Append("*.cache")
    saExcludes.Append("*.pdb")
    saExcludes.Append("*/obj/*")
    saExcludes.Append("*/win10-x64/*.exe")
    zip.SetExclusions(saExcludes)

    // Append promises of paths and files to be zipped.
    recurse := true
    success = zip.AppendFiles("c:/AAWorkArea/ChilkatSampleProjects/*",recurse)
    if success == false {
        fmt.Println(zip.LastErrorText())
        zip.DisposeZip()
        saExcludes.DisposeStringArray()
        return
    }

    // Create the zip from the file and directory promises added previously.
    success = zip.WriteZipAndClose()
    if success == false {
        fmt.Println(zip.LastErrorText())
        zip.DisposeZip()
        saExcludes.DisposeStringArray()
        return
    }

    fmt.Println("Success.")

    zip.DisposeZip()
    saExcludes.DisposeStringArray()