🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Go

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

Q&A

解決済

1回答

909閲覧

(*database.GetDBM()).ConnectDB() なぜカッコで囲んでいる?

anonyrabbit

総合スコア78

Go

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

0グッド

0クリップ

投稿2019/12/05 06:18

お世話になります。

Go

1 2func main() { 3 (*database.GetDBM()).ConnectDB() 4 defer (*database.GetDBM()).CloseDB() 5 6 api := di.InjectAPIServer() 7 http.HandleFunc("/", api.GetMemos) 8 http.HandleFunc("/post", api.PostMemo) 9 http.HandleFunc("/post/memo_tags", api.PostMemoAndTags) 10 http.HandleFunc("/search/tags_memos", api.SearchTagsAndMemos) 11 http.ListenAndServe(":8080", nil) 12} 13 14

この実装例で、なぜ (*database.GetDBM())をカッコで囲んでいるのでしょうか?
ご回答よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

カッコで囲んでいない場合、こういう解釈となります
*(database.GetDBM().ConnectDB())

投稿2019/12/05 06:58

y_waiwai

総合スコア88038

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

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

anonyrabbit

2019/12/05 09:46

あ、なるほど、ConnectDB()が返す値のポインタを表現しているのですね?!
anonyrabbit

2019/12/05 09:46

でもそれって、どういう決まりというか仕組みなのでしょうか?その仕組みに名前などついていますでしょうか?
y_waiwai

2019/12/05 09:50

演算子の優先順位、で調べてみよう。 前置*と()と.と
anonyrabbit

2019/12/06 03:57

すみません、ありがとうございます>< 助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問