2012-05-02 11 views
82

Ad esempio, desidero utilizzare sia testo/modello che html/modello in un unico file sorgente. Ma il codice sottostante genera errori.Come importare e utilizzare diversi pacchetti con lo stesso nome nella lingua Go?

import (
    "fmt" 
    "net/http" 
    "text/template" // template redeclared as imported package name 
    "html/template" // template redeclared as imported package name 
) 

func handler_html(w http.ResponseWriter, r *http.Request) { 
    t_html, err := html.template.New("foo").Parse(`{{define "T"}}Hello, {{.}}!{{end}}`) 
    t_text, err := text.template.New("foo").Parse(`{{define "T"}}Hello, {{.}}!{{end}}`) 

} 
+1

Grazie per avermi fatto questa domanda. Certo è nei documenti, ma il tutorial ti incoraggia anche a non pensarci, e poi quando hai bisogno di capirlo non vuoi scavare. :) –

risposta

158
import (
    "text/template" 
    htemplate "html/template" // this is now imported as htemplate 
) 

Per saperne di più su di esso in the spec.

+1

Hai ragione. Funziona. Grazie – hardPass

+2

@hardPass: fai clic sull'icona "segno di spunta" accanto a questa risposta per segnalarla come risposta corretta e accettata. – Ashe

+1

Questa è una risposta perfetta: mostra ciò che è necessario sapere, ma fornisce anche un collegamento per maggiori informazioni. Bravo! –

Problemi correlati