2012-05-02 18 views
82

Por ejemplo, quiero usar texto/plantilla y html/plantilla en un archivo fuente. Pero el siguiente código arroja errores.¿Cómo importar y usar diferentes paquetes del mismo nombre en Go language?

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

Gracias por hacer esta pregunta. Claro que está en los documentos, pero el tutorial también lo alienta a no pensar en ello, y luego, cuando necesite resolverlo, no desea excavar. :) –

Respuesta

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

Lea más sobre esto in the spec.

+1

Tienes razón. Funciona. Gracias – hardPass

+2

@hardPass: haga clic en el ícono "marcar" al lado de esta respuesta para señalarlo como la respuesta correcta y aceptada. – Ashe

+1

Esta es una respuesta perfecta: le muestra lo que necesita saber, pero también proporciona un enlace para obtener más información. ¡Bravo! –

Cuestiones relacionadas