2.6 変数および定数の名前
定数と変数の名前は、文字あるいは_(アンダースコア)で始まり、数字あるいは_あるいは文字が続く。
文字と数字の定義は他の言語よりも広くなっており、Unicode文字で文字あるいは数字とみなされるものが許されている。そのため以下の変数は全て使用可能。
ただし、以下のような命名法は推奨されておらず、イディオム的ではない。
code:go
package main
import "fmt"
func main() {
_0 := 0_0
_𝟙 := 20
π := 3
a := "hello" // 全角の「a」
数値1 := 33 // 漢字+全角の「1」
fmt.Println(_0) // 0
fmt.Println(_𝟙) // 20
fmt.Println(π) // 3
fmt.Println(a) // hello
fmt.Println(数値1) // 33
}
また、多くの言語では定数に大文字を使うが、Goではこのパターンは用いない。
名前の先頭文字が、大文字か小文字かがパッケージ外からアクセスできるかどうかの決め手になる。
そして基本的に関数内では短い名前を使う。
変数のスコープが狭ければ狭いほど短い名前が使われる。
短い名前の変数の用途が分からなくなるようなら、そのブロックの処理が複雑すぎるという、コードチェッカーの役割もする。
1文字の変数名は、以下のような文字を用いる慣例がある。
整数はi
浮動小数点数はf
論理値はb