code: func parseKnownHostsLine(line []byte) (string, gossh.PublicKey, error) {
  
  	// Skip any leading whitespace.
  	line = bytes.TrimLeft(line, "\t ")
  
  	// Skip comments and empty lines.
  	if bytes.HasPrefix(line, []byte("#")) || len(line) == 0 {
  		return "", nil, nil
  	}
  
  	// Skip markers.
  	if bytes.HasPrefix(line, []byte("@")) {
  		return "", nil, errors.New("marker functionality not implemented")
  	}
  
  	// Find the end of the host name(s) portion.
  	end := bytes.IndexAny(line, "\t ")
  	if end <= 0 {
  		return "", nil, errors.New("bad format (insufficient fields)")
  	}
  	hosts := string(line[:end])
  	keyBytes := line[end+1:]
  
  	// Check for hashed host names.
  	if strings.HasPrefix(hosts, sshHashDelim) {
  		return "", nil, errors.New("hashed hosts not implemented")
  	}
  
  	// Finally, actually try to extract the key.
  	key, _, _, _, err := gossh.ParseAuthorizedKey(keyBytes)
  	if err != nil {
  		return "", nil, fmt.Errorf("error parsing key: %v", err)
  	}
  
  	return hosts, key, nil
  }
docs: // parseKnownHostsLine parses a line from a known hosts file.  It returns a
  // string containing the hosts section of the line, a gossh.PublicKey parsed
  // from the line, and any error encountered during the parsing.