Goのローカルスコープでの「変数宣言」と「短い変数宣言」の違い

前線:

この質問によると、how-to-define-a-single-byte-variable-in-go-lang

ローカルスコープ:

var c byte = 'A' 

そして

c := byte('A')

私の質問は:

  1. 彼らは同じメカニズムを持っていますか?
  2. goコンパイラーが理解しやすいのはどれですか?
peterSO:

これらは同じタイプ(byteのエイリアスuint8)と値です。例えば、

package main

import "fmt"

func main() {
    var c byte = 'A'
    d := byte('A')
    fmt.Printf("c: %[1]T %[1]v d: %[2]T %[2]v c==d: %v", c, d, c == d)
}

出力:

c: uint8 65 d: uint8 65 c==d: true

それらは同等に効率的です。ランタイムコードは同じです。どちらもGoコンパイラーで簡単に理解できます。

Goプログラミング言語仕様

短い変数宣言では、次の構文を使用します。

ShortVarDecl = IdentifierList ":=" ExpressionList .

これは、初期化式を含むが型を持たない通常の変数宣言の省略形です。

"var" IdentifierList = ExpressionList .

「最高」はスタイルの問題です。与えられたコンテキストでどちらがよりよく読みますか?

Goプログラミング言語

Alan AA Donovan・Brian W.Kernighan

簡潔さと柔軟性のため、ローカル変数の大部分を宣言して初期化するには、短い変数宣言を使用します。var宣言は、初期化式とは異なる明示的な型が必要なローカル変数、または変数に後で値が割り当てられ、その初期値が重要ではない場合に予約される傾向があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Goの短い変数宣言と長い変数宣言のクロージャスコープの違いは何ですか?

分類Dev

javascript-関数式と宣言のローカル変数のスコープ

分類Dev

forループ内で新しい変数が作成されるときの多変数の短い再宣言?

分類Dev

関数プロトタイプとブロックコードでの変数宣言:違い?

分類Dev

エラー:「モデル」という名前のローカル変数をこのスコープで宣言できません

分類Dev

グローバル定義とグローバル変数宣言の違い

分類Dev

グローバル変数とARMCのmainで宣言された変数の違い

分類Dev

配列へのポインタを宣言するとき、グローバル変数とローカル変数の違いは何ですか?

分類Dev

匿名関数-グローバル変数の宣言とphpでの使用の違いは何ですか?

分類Dev

変数の宣言の違い

分類Dev

Javascriptの変数宣言構文の違い(グローバル変数を含む)?

分類Dev

ループの前またはループで変数を宣言することの違いは?

分類Dev

変数宣言の違い-Objectivec

分類Dev

役に立たないローカル変数の宣言

分類Dev

パブリック変数の宣言とローカル変数のサブルーチンへの受け渡しのVBAの違い

分類Dev

forループ内で宣言された変数のスコープ

分類Dev

forループで宣言された変数のスコープ、javascript

分類Dev

forループで変数を宣言することの長所と短所は?

分類Dev

Cのローカルスコープで宣言された変数へのポインタの設定

分類Dev

'this'と通常の変数宣言の違い

分類Dev

goで値のないグローバル変数を宣言する

分類Dev

変数がローカルスコープで未定義である場合、上位スコープで宣言され、同じ名前の変数が実行されていないステートメントでローカルスコープで宣言されている

分類Dev

TclOO:変数を「クラス」レベルとして宣言するかコンストラクターで宣言するかの違い

分類Dev

Golangの短い変数宣言でエラーが未解決と表示される

分類Dev

チゼルとWhenブロックの宣言と変数スコープ

分類Dev

クラス変数(メンバー変数)とローカル変数(グローバル変数)の違い

分類Dev

try宣言変数のスコープ

分類Dev

Cでの変数宣言とスコープ

分類Dev

このスコープで宣言されていないModelica変数

Related 関連記事

  1. 1

    Goの短い変数宣言と長い変数宣言のクロージャスコープの違いは何ですか?

  2. 2

    javascript-関数式と宣言のローカル変数のスコープ

  3. 3

    forループ内で新しい変数が作成されるときの多変数の短い再宣言?

  4. 4

    関数プロトタイプとブロックコードでの変数宣言:違い?

  5. 5

    エラー:「モデル」という名前のローカル変数をこのスコープで宣言できません

  6. 6

    グローバル定義とグローバル変数宣言の違い

  7. 7

    グローバル変数とARMCのmainで宣言された変数の違い

  8. 8

    配列へのポインタを宣言するとき、グローバル変数とローカル変数の違いは何ですか?

  9. 9

    匿名関数-グローバル変数の宣言とphpでの使用の違いは何ですか?

  10. 10

    変数の宣言の違い

  11. 11

    Javascriptの変数宣言構文の違い(グローバル変数を含む)?

  12. 12

    ループの前またはループで変数を宣言することの違いは?

  13. 13

    変数宣言の違い-Objectivec

  14. 14

    役に立たないローカル変数の宣言

  15. 15

    パブリック変数の宣言とローカル変数のサブルーチンへの受け渡しのVBAの違い

  16. 16

    forループ内で宣言された変数のスコープ

  17. 17

    forループで宣言された変数のスコープ、javascript

  18. 18

    forループで変数を宣言することの長所と短所は?

  19. 19

    Cのローカルスコープで宣言された変数へのポインタの設定

  20. 20

    'this'と通常の変数宣言の違い

  21. 21

    goで値のないグローバル変数を宣言する

  22. 22

    変数がローカルスコープで未定義である場合、上位スコープで宣言され、同じ名前の変数が実行されていないステートメントでローカルスコープで宣言されている

  23. 23

    TclOO:変数を「クラス」レベルとして宣言するかコンストラクターで宣言するかの違い

  24. 24

    Golangの短い変数宣言でエラーが未解決と表示される

  25. 25

    チゼルとWhenブロックの宣言と変数スコープ

  26. 26

    クラス変数(メンバー変数)とローカル変数(グローバル変数)の違い

  27. 27

    try宣言変数のスコープ

  28. 28

    Cでの変数宣言とスコープ

  29. 29

    このスコープで宣言されていないModelica変数

ホットタグ

アーカイブ