Go の「:=」と「=」の区別を理解する
Go の初心者としては、次の点に当惑するかもしれません。変数の代入における「:=」と「=」の使用は一見互換性があるように見えます。ただし、変数宣言のコンテキストを中心に微妙な違いがあります。
「=」の役割
Go では、「=」は主に次の目的で使用されます。変数の割り当て。これは「var name type =expression」の構文に従います。「name」は割り当てられる変数を表します。重要なのは、型または代入式は省略できますが、両方は省略できません。
「:=
」の性質対照的に、「:=」は短いことを示します。変数宣言。「名前 := 式」の形式に従います。ここで、「:=」は、宣言と代入演算子を組み合わせたものとして機能します。 「名前」のタイプは、「式」のタイプから自動的に推測されます。
宣言と代入の区別
主な違いは、それぞれの主な目的にあります。オペレーター。 「:=」は宣言のみに使用され、「=」は代入に使用されます。したがって、短い変数宣言では、常に現在の字句ブロック内にまったく新しい変数を少なくとも 1 つ導入する必要があります。
使用例
区別を説明するために、次の例を考えてみましょう。 :
var x int = 1
このステートメントは整数変数を宣言します
r := foo()
これは、「foo」の戻り値を割り当てる短い変数宣言です。 ()" 関数を新しく作成した変数 "r."
This creates a new variable "m" and assigns a new value to the existing variable "r." **Exceptions and Additional Information** It's worth noting that ":=" can only be used within functions. However, it can declare temporary variables within the initializers of control structures like "if," "for," and "switch." For further exploration, you can refer to the official Go documentation on: * [Variable Declarations](https://go.dev/ref/spec#Variable_declarations)
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3