Large files that are created with the os.Seek() function may have holes in them and occupy fewer disk blocks than files with the same size, but without holes in them; such files are called sparse files. This section will develop a program that creates sparse files.
The Go code of sparse.go will be presented in three parts. The first part is the following:
package main import ( "fmt" "log" "os" "path/filepath" "strconv" )
The second part of sparse.go has the following Go code:
func main() { 
   if len(os.Args) != 3 { 
         fmt.Printf("usage: %s SIZE filename\n", filepath.Base(os.Args[0])) 
         os.Exit(1) 
   } 
 
   SIZE, _ := strconv.ParseInt(os.Args[1], 10, 64) 
   filename := os.Args[2] 
 
   _, err := os.Stat(filename) 
   if err == nil { 
         fmt.Printf("...