【ヒント】Go言語では短い変数宣言に := を使うことを推奨します
By khoanc, at: 2024年9月4日13:47
Estimated Reading Time: __READING_TIME__ minutes
![[TIPS] Prefer := for Short Variable Declaration in Go](/media/filer_public_thumbnails/filer_public/f4/7a/f47a91af-4dc2-442b-8df6-387a98cf171f/go-lang_short_variable_declaration.png__1500x900_crop_subsampling-2_upscale.png)
![[TIPS] Prefer := for Short Variable Declaration in Go](/media/filer_public_thumbnails/filer_public/f4/7a/f47a91af-4dc2-442b-8df6-387a98cf171f/go-lang_short_variable_declaration.png__400x240_crop_subsampling-2_upscale.png)
Go言語における簡潔な変数宣言のための:=
の推奨
Go言語の最も便利な機能の1つは、簡潔な変数宣言のための:=
構文です。これにより、1行で変数を宣言して初期化できるため、コードがより簡潔で可読性が高くなります。多くの状況でこの省略記法を優先すべき理由を探っていきましょう。
なぜ:=
を使うのか?
シンプルさと可読性::=
構文は、宣言と初期化の両方を1行にまとめることで、変数宣言を簡素化します。これにより、定型コードが削減され、新しい変数が導入されていることがすぐに明らかになります。
型推論::=
を使用すると、変数の型を明示的に指定する必要がありません。Goは代入された値に基づいて型を自動的に推論するため、明確さを犠牲にすることなく冗長性を減らすことができます。
count := 42 // countは自動的にint型になります
name := "Go" // nameは自動的にstring型になります
ブロックスコープ::=
で宣言された変数は、宣言されたブロックのスコープに限定されるため、変数の再利用や意図しないグローバル状態の変更に関連する問題を回避するのに役立ちます。
:=
を使用しない場合
この省略記法は強力ですが、使用を避けるべき場合もあります。
パッケージレベル変数:パッケージレベルでは、:=
は関数内でのみ有効であるため、var
キーワードを使用して変数を宣言する必要があります。
var globalCount int // パッケージレベルで宣言
値の再代入:同じスコープ内で既存の変数に値を再代入する場合は、:=
ではなく標準の代入演算子=
を使用します。
count = 50 // 新しい値を再代入
:=
の動作例
:=
がどのようにコードを簡素化できるかを示す簡単な例を次に示します。
package main
import "fmt"
func main() {
// 複数変数を:=で宣言して初期化
message := "Hello, Go!"
count := 10
isReady := true
fmt.Println(message, count, isReady)
}
この例では、:=
を使用して異なる型の3つの変数を宣言および初期化しており、コードを簡潔で可読性の高いものにすることができます。