code: func CopyFile(src, dst string) (err error) {
  	srcStats, err := os.Stat(src)
  	if err != nil {
  		return
  	}
  	if !srcStats.Mode().IsRegular() {
  		return ErrSrcNotRegularFile
  	}
  	dstStats, err := os.Stat(dst)
  	if err != nil {
  		if !os.IsNotExist(err) {
  			return
  		}
  	} else {
  		// The file already exists
  		if !dstStats.Mode().IsRegular() {
  			return ErrDstNotRegularFile
  		}
  	}
  	return copyFileContents(src, dst)
  }
docs: // CopyFile : copies src file to dst file