code: func Flock(fileName string) (r Releaser, existed bool, err error) {
  	if err = os.MkdirAll(filepath.Dir(fileName), 0755); err != nil {
  		return nil, false, err
  	}
  
  	_, err = os.Stat(fileName)
  	existed = err == nil
  
  	r, err = newLock(fileName)
  	return r, existed, err
  }
docs: // Flock locks the file with the provided name. If the file does not exist, it is
  // created. The returned Releaser is used to release the lock. existed is true
  // if the file to lock already existed. A non-nil error is returned if the
  // locking has failed. Neither this function nor the returned Releaser is
  // goroutine-safe.