Go 言語では変数を定義する方法がたくさんあります。
var
キーワードの使用は、Go で変数を定義する最も基本的な方法です。場合によっては、変数の定義に :=
も使用されます。
変数の定義
// 定义一个名称为“variableName”,类型为"type"的变量 // var variableName type var number int
変数の定義と値の初期化
// 初始化“variableName”的变量为“value”值,类型是“type” // var variableName type = value var number int = 10
複数の変数を同時に初期化します。並列割り当てとも呼ばれます
/* 定义三个类型都是"type"的变量,并且分别初始化为相应的值 vname1为v1,vname2为v2,vname3为v3 */ // var vname1, vname2, vname3 type = v1, v2, v3 var number1, number2, number3 int = 1, 2, 3
上記の定義は少し面倒だと思いますか?それは問題ではありません。Go 言語の設計者も、Go 言語をより単純にする方法があることを発見したからです。型宣言を直接無視できます。その場合、上記のコードは次のようになります。
/* 定义三个变量,它们分别初始化为相应的值 vname1为v1,vname2为v2,vname3为v3 然后Go会根据其相应值的类型来帮你初始化它们 */ // var vname1, vname2, vname3 = v1, v2, v3 var number1, number2, number3 = 1, 2, 3
上記はまだ少し面倒だと思いますか?わかりました、私もそう思います。単純化を続けましょう:
/* 定义三个变量,它们分别初始化为相应的值 vname1为v1,vname2为v2,vname3为v3 编译器会根据初始化的值自动推导出相应的类型*/ // vname1, vname2, vname3 := v1, v2, v3 number1, number2, number3 := 1, 2, 3
非常に単純に見えませんか? :=
このシンボルは、var
と type
を直接置き換えます。この形式は、短いステートメントと呼ばれます。ただし、関数内でのみ使用でき、関数外で使用するとコンパイルされないという制限があるため、グローバル変数の定義には var メソッドが一般的に使用されます。
つまり、「:=
」は「ローカル変数」を宣言する場合にのみ使用できますが、「var」にはこの制限がありません。
おすすめの関連記事とチュートリアル: golang チュートリアル
以上がgolangの「var」と「:=」の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。