code: func LookPathGopath(binName string) (string, error) {
  	binPath, err := exec.LookPath(binName)
  	if err == nil {
  		return binPath, nil
  	}
  	binDir, err := goPathBinDir()
  	if err != nil {
  		return "", fmt.Errorf("command %q not found in $PATH, and could not look in $GOPATH/bin because %v", binName, err)
  	}
  	binPath = filepath.Join(binDir, binName)
  	if runtime.GOOS == "windows" {
  		binPath += ".exe"
  	}
  	if _, err := os.Stat(binPath); err != nil {
  		return "", err
  	}
  	return binPath, nil
  }
docs: // LookPathGopath uses exec.LookPath to find binName, and then falls back to
  // looking in $GOPATH/bin.