2012-05-02 9 views
82

たとえば、あるソースファイルでtext/templateとhtml/templateの両方を使用したいとします。 しかし、以下のコードではエラーが発生します。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

ありがとうございます。もちろんそれはドキュメントにありますが、このチュートリアルでは、あなたがそれについて考えることを奨励しています。そして、あなたがそれを理解する必要があるとき、あなたは掘り出すことは望ましくありません。 :) –

答えて

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

それin the specについては、こちらをご覧ください。

+1

あなたは正しいです。それは働きます。ありがとう – hardPass

+2

@hardPass:この答えの隣にある "ダニ"アイコンをクリックしてください。 – Ashe

+1

これは完璧な答えです:あなたが知る必要があることを示してくれるだけでなく、より多くの情報のためのリンクも提供します。ブラボー! –

関連する問題