code: func fileDigest(path string) []byte {
  	f, err := os.Open(path)
  	if err != nil {
  		return nil
  	}
  	defer f.Close()
  	h := sha256.New()
  	if _, err := io.Copy(h, f); err != nil {
  		return nil
  	}
  	return h.Sum(nil)
  }
docs: ////////////////////////////////////////////////////////////////////////////////
  // Misc helpers used above.
  // fileDigest returns SHA256 digest of a file on disk or nil if it's not there
  // or can't be read.