Go 言語には、非常に厳密なコード構成と書式設定ルールがあります。これらのルールにより、Go コードが非常に読みやすく理解しやすくなると同時に、コードの一貫性も確保されます。
1. パッケージ
Go コードはパッケージに編成されます。パッケージは、いくつかの Go ソース ファイルを含むディレクトリです。すべてのソース ファイルはパッケージ宣言で始まります。
package main
同じディレクトリ内のすべての Go ソース ファイルは、同じパッケージに属している必要があります。
2.インポート
Go ソースファイルは他のパッケージからコードをインポートできます。これは import
次のステートメントで行われます。
import (
"fmt"
"math"
)
このステートメントは、 fmt
パッケージと math
標準ライブラリのパッケージをインポートします。
3. フォーマットする
Go には、Go コードを自動的にフォーマットするツールが組み込まれています gofmt
。gofmt
このツールはコードのインデント、スペース、改行などを調整し、コードを非常にきれいに見せます。
このツールはコマンドラインから使用できます gofmt
。
gofmt -w yourfile.go
このコマンドは、 yourfile.go
Go のフォーマット規則に準拠するようにファイルを直接変更します。
ファイルを保存するときにコードを自動的にフォーマットするようにテキスト エディターまたは IDE でツールを構成することもできます gofmt
。
4. ベストプラクティス
上記のルールに加えて、Go にはプログラミングのベスト プラクティスがいくつかあります。
- できるだけ小さな関数とパッケージを使用します。これにより、コードの理解とテストが容易になります。
- グローバル変数は避けてください。グローバル変数により、コードの状態を理解することがさらに難しくなる場合があります。
- 自己記述的な識別子名を使用します。適切な名前を付けるとコードが一目瞭然になります。
- エラーを無視するのではなく、Go のエラー処理メカニズムを使用してください。
たとえば、次のベスト プラクティスに従ったコード サンプルを次に示します。
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println(calcCircleArea(10))
}
func calcCircleArea(radius float64) float64 {
return math.Pi * math.Pow(radius, 2)
}
このコードは、 calcCircleArea
円の面積を計算する関数を定義します。この関数は小さく、グローバル変数を使用せず、わかりやすい識別子名を使用し、エラーを無視しません (実際、この関数にはエラーの可能性はありません)。
全体的に、Go のコード構成と書式設定ルールは、コードの可読性と一貫性を向上させるように設計されています。これらのルールとベスト プラクティスに従うと、Go コードが読みやすく、理解しやすく、保守しやすくなります。