【ヒント】Go言語では短い変数宣言に := を使う方が良い

By khoanc, at: 2024年9月4日13:47

Estimated Reading Time: __READING_TIME__ minutes

[TIPS] Prefer := for Short Variable Declaration in Go
[TIPS] Prefer := for Short Variable Declaration in 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つの変数を宣言および初期化することで、コードを簡潔で読みやすくしています。

Tag list:
- Go variable declaration best practices
- Golang
- Go short variable declaration
- Golang :=
- Go type inference
- Go language tips
- Go := shorthand

Related

Subscribe

Subscribe to our newsletter and never miss out lastest news.