この記事は、go language チュートリアル コラムで、golang で var で構造体を初期化できるかどうかという問題を紹介するもので、困っている友人の役に立てば幸いです。
前の小さな記事では、最も単純な golang デモを構築するために goland を使用しただけであり、実用的な価値はなく、golang 構文を使用しています。このセクションでは、単純な初歩的な操作を完了し、golang のいくつかの一般的な操作をすぐに理解し、golang の基本的な文法をマスターできるようにします
golang のメソッドの戻り値は複数の値を持つことができますが、これは golang とは異なります。たとえば、java の場合、map[id] のメソッドでは、最初の戻り値は value で、2 番目の戻り値は bool 型で、存在するかどうかを示します。 Java の json シリアル化メソッド、逆シリアル化は json.Unmarshal メソッド、最初のパラメーターはバイト配列、2 番目のパラメーターはシリアル化されたオブジェクトの
"アドレス"、上記のセクションで使用されている構文は、次の演習でよく使用されます。友達はそれを暗記するだけで済みます
3.1 getUser メソッドの主なロジックは、渡されたパラメーター ID を取得し、ユーザーの基本的な ID を取得することです。 id
3.2 saveUser に基づくグローバル変数からの情報 POST リクエストを処理します 現在開発中ですが、通常、対応するリクエストに渡された JSON データを解析します。それをグローバル変数に保存します
3.3 updateUser は saveUpdate に似ています。簡単にするために、グローバル マップに対応する ID が存在するかどうかだけを判断し、変更します。属性の比較や置換を行わずに、この ID に対応するユーザー オブジェクトを取得します。
3.4 deleteUser はさらに単純で、マップ内の対応する ID を削除するだけです。
テスト
1.getUser のテスト #2.saveUser のテスト 3.UpdateUser テスト##4.
このセクションでは、主にメモリの追加、削除、変更、検索を完了しますが、実際、golang の基本構文を完全にマスターすると、次のように感じられるはずです。幼稚ですが、問題ありません。新入生の中には何かを得た人もいるでしょう。上記のコードを注意深く見てみると、間違いなくいくつかの問題が見つかるでしょう。パラメータを解析する方法が 2 つしかないことがわかります。 1 つは localhost:9090/user?id=1 です。ID を取得するこの方法は、post リクエストで json を取得することです。Spring MVC の @requestMapping(value="/user/{name}/) を想像すると、それは localhost です。 :9090/user?id=1 で ID を取得します。ID を取得する方法は、投稿リクエストで JSON を取得することです。これを実行したい場合は、@requestMapping(value="/user/{name}/{id }") spring mvc では機能せず、@pathvariable メソッドを通じて取得します。パラメーター、これは日常の作業に非常に役立ちますが、残念ながら、golang はそのような比較的複雑なパラメーター バインディング作業をネイティブにサポートしていません。データ構造 Trie を通じてこの問題を解決します
https://github.com/BazingaLyn/jarvis
よろしければこの一連の入門チュートリアルをフォローして、「いいね」を押して集めていただければ、品質が 3 倍になります。ありがとうございます~
コードを手で入力すると、(writer http.ResponseWriter, request *http.Request) を何度も記述する必要があることがわかります。goland ショートカット キーをすばやく生成するメソッドが提供されていますが、ショートカット キーの設定は人それぞれ異なる可能性がありますが、次のメソッドを使用すると、メソッド
# をすばやく生成できます。以上がgo の var が構造体を初期化できるかどうかを調べるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。