Как импортировать и использовать разные пакеты с одним и тем же именем в языке Go?

Например, я хочу использовать как text/template, так и html/template в одном исходном файле. Но код ниже бросает ошибки.

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

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

Подробнее об этом в спецификации.