JavaScriptを有効にしてください

【GoLang】コーディング規約

 ·  ☕ 2 分で読めます

【GoLang】コーディング規約

Goのコーディング規約まとめ

コーディング規約

インデント

  • タブを使用
    • 半角スペースは使用しない

文字数

  • 1行あたりの文字数の制限はない
    • 長すぎる場合は改行しても良い

コメント

  • /* */ ブロックコメント
  • // 行コメント
  • 連続したコメントは縦に揃える
1
2
3
4
type T struct {
	name	string	// name of the object
	value	int		// its value
}

演算子

  • 演算子の前後にスペースを入れない。
    • 演算子の優先順位を明確にする時のみスペースを入れる。括弧は使用しない
1
x << 8 + y << 16

自動整形

以下のコマンドを使用することで go が自動的に整形をしてくれます

1
go fmt hoge.go

アスタリスクで複数のファイルを一括でやってくれます。

1
go fmt *

命名規則

  • ローワーキャメルケース
    • hogePiyo
  • アッパーキャメルケース
    • HogePiyo

ディレクトリ名

  • 決まりなし?

ファイル名

  • 決まりなし?

関数、構造体

  • 内部向け
    • ローワーキャメルケース
1
2
// packageの内に公開する場合
func hogePiyo(filename string) (string, error) {}

  • 外部向け
    • アッパーキャメルケース
1
2
// packageの外に公開する場合
func HogePiyo(filename string) (string, error) {}

type

  • ローワーキャメルケース

コンストラクタ

  • NewBook(New + 生成対象の構造体名)

インターフェイス

  • 1つのメソッドを持つインターフェイスの場合
    • Reader(Read メソッドだけを持つインタフェース)

参考情報

共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer