1. ホーム
  2. go

[解決済み] 同じ名前の異なるパッケージをインポートして使用する方法

2022-04-25 19:27:58

質問

例えば、1つのソースファイルで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
)

もっと詳しく読む 仕様書に .