A tiny file comparison program written in Go
github.com log.Print("Missing argument for files direcory, Exiting...")
os.Exit(0)
Exit code 0 is usually used for success. This is clearly an error. filePath + "/" + file.Name()
There's path/filepath module for cross-platform joining of file paths.Don't use defer f.Close() in the loop — defer will execute after the function returns. What you're doing is opening all of the files in the directory and then closing them only when the program exists.
if file.IsDir() == false {
Already boolean, this should be if !file.IsDir() {
Apart from all of this, it looks like the algorithm is very inefficient with all of those slice manipulations.Did some refactoring :) thanks for noticing ... It's now far more efficient from a small test I've did
I made a similar utility a while back to help trim down my family photos library that had many duplicates [0]. I took the approach of a dry-run option and an option to go ahead and delete duplicate files too. It also traverses the folder recursively, to get all files in a tree.
Did a complete refactor to do it more efficiently