質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

解決済

1回答

3342閲覧

Golang HTMLテンプレートを使ってブラウザで結果を表示させたい

mhy

総合スコア6

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

0クリップ

投稿2017/09/17 18:03

Golangについて勉強中です。
HTMLテンプレートを使って変数内の文字列を表示させることが目標です。

現在、ブラウザで表示させようとすると
ERR_CONNECTION_REFUSED
で表示することができません。

sublime3でコードを書いていて、GoSublimeを入れています。
上書き保存時、
[ sh go build . errors && go test -i & go test && go vet && golint | done: 5.1888014s ]
と表示されるのですが、これがエラーメッセージかも分かりませんでした。(ネットで調べました。)

原因と解決策が知りたいです。

環境
windows10
go version 1.9

以下ソース。

go

1// ファイル名:webapp.go 2package trial 3 4import ( 5 "html/template" 6 "log" 7 "net/http" 8) 9 10func htmlHandler(w http.ResponseWriter, r *http.Request) { 11 // テンプレートをパース 12 t := template.Must(template.ParseFiles("/webapp.tpl")) 13 14 str := "Sample Message" 15 16 // テンプレートを描画 17 if err := t.ExecuteTemplate(w, "/webapp.tpl", str); err != nil { 18 log.Fatal(err) 19 } 20} 21 22func main() { 23 http.HandleFunc("/webapp", htmlHandler) 24 25 // サーバーを起動 26 http.ListenAndServe(":8989", nil) 27} 28

html

1<!-- ファイル名:webapp.tpl --> 2<!DOCTYPE html> 3<html> 4<body> 5 msg: {{.}} 6</body> 7</html>

階層構造は、
C:\Go\Project\webapp\webapp.go
C:\Go\Project\webapp\webapp.tpl
C:\Go\Project\webapp\webapp.exe

webapp.exeを起動する必要はありますか?
起動した状態でも、起動していない状態でも試しましたがダメでした。

ポート番号を8989から8686に変えてもダメでした。

また、ポート番号の8686はHTMLテンプレートを使わなければブラウザに文字列を表示させることができました。

以上が現状です。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

パッケージ名をmainに変更し、コマンドプロンプトでビルドをし、exeを起動したらブラウザに表示されました。
問題自体は解決したので解決方法として記載しておきます。

ただ、
・なぜパッケージ名がmainでないといけないのか
・コマンドプロンプトでコンパイル&runができない(実行するとコマンドプロンプトがなにも入力できなくなる)のでその理由
・exeを起動しないといけない理由
これらが分からないので教えていただけたら嬉しいです。

投稿2017/09/17 18:27

mhy

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問