如何在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}}`) } 
 import ( "text/template" htemplate "html/template" // this is now imported as htemplate ) 

在规范中阅读更多关于它的内容 。