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

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

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

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

Q&A

解決済

1回答

226閲覧

『Go言語によるWebアプリケーション開発』で使うコマンドの./chat -host=":8080"がエラーになってしまいます。

退会済みユーザー

退会済みユーザー

総合スコア0

Go

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

0グッド

0クリップ

投稿2018/09/09 09:53

編集2018/09/09 12:00

タイトルの通り何ですが、『Go言語によるWebアプリケーション開発』でビルドするときに使うコマンドの./chat -host=":8080"がエラーになってしまいます。

※コードを追記しました

package main import ( "flag" "log" "net/http" "path/filepath" "sync" "text/template" "github.com/stretchr/gomniauth" "github.com/stretchr/gomniauth/providers/facebook" "github.com/stretchr/gomniauth/providers/github" "github.com/stretchr/gomniauth/providers/google" "github.com/stretchr/objx" ) //templは1つのテンプレートを表す type templateHandler struct { once sync.Once filename string templ *template.Template } //ServeHTTPはHTTPリクエストを処理する func (t *templateHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { t.once.Do(func() { t.templ = template.Must(template.ParseFiles(filepath.Join("templates", t.filename))) }) data := map[string]interface{}{ "Host": r.Host, } if authCookie, err := r.Cookie("auth"); err == nil { data["UserData"] = objx.MustFromBase64(authCookie.Value) } t.templ.Execute(w, data) } func main() { var addr = flag.String("addr", ":8080", "アプリケーションのアドレス") flag.Parse() //フラグを解釈します //Gomniauthのセットアップ gomniauth.SetSecurityKey("セキュリティキー") gomniauth.WithProviders( facebook.New("", "", "http://localhost:8080/auth/callback/facebook"), github.New("", "", "http://localhost:8080/auth/callback/github"), google.New("526115198658-gvoqprgin282r5ipkiiprii3pjqqi7vu.apps.googleusercontent.com", "tXvtbh5236VAlVZhonJaJMgE", "http://localhost:8080/auth/callback/google"), ) r := newRoom() http.Handle("/chat", MustAuth(&templateHandler{filename: "chat.html"})) http.Handle("/login", &templateHandler{filename: "login.html"}) http.HandleFunc("/auth/", loginHandler) http.Handle("/room", r) //チャットルームを開始します go r.run() //webサーバーを起動します log.Println("Webサーバーを開始します。ポート:", *addr) if err := http.ListenAndServe(":8080", nil); err != nil { log.Fatal("ListenAndServe:", err) } }

打ち込むコマンド

go build -o chat ./chat -host=":8080"

具体的なエラー結果は下記の通りです。

flag provided but not defined: -host Usage of ./chat: -addr string アプリケーションのアドレス (default ":8080")

ネットの記事にはこれを解決する方法は乗っていませんでした。
どうすればこのエラーを解決することができますか?

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

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

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

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

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

quickquip

2018/09/09 11:04 編集

usageを信じたらいいんじゃないでしょうか? コードがないならそれぐらいしか言えることはないかと
退会済みユーザー

退会済みユーザー

2018/09/09 12:01

コードを追記しました!
quickquip

2018/09/09 12:07

ソースを見てもやっぱりusageに書いてあるとおりでよさそうですが
退会済みユーザー

退会済みユーザー

2018/09/09 12:10

『usageに書いてある通り』というのは、本通りに進めたら良いということですか?
quickquip

2018/09/09 12:12

出力されているメッセージを読んでないってことですか?
退会済みユーザー

退会済みユーザー

2018/09/09 12:17

usageって出力結果に書いてあるものなんですね。プログラミングを始めたばっかなのでわからなかったです。ググったら使用方法と出ていたので、てっきり本通りにやれば良いのでは?と言ってると思ってました。usageはどういう意味なんでしょうか?
guest

回答1

0

ベストアンサー

-hostではなく-addrを試してみましたか?

投稿2018/09/09 21:55

mkgrei

総合スコア8560

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問