How to process gigantic files in Golang — Fast and Memory-Efficient