マスコットが一々神経を逆撫でするGO言語の話題です。
GO言語には標準でコーディング規則矯正ギプスが付属しています。
その名も「fmt」...まんまですね。
実例
たとえば、こんな見るにも無惨なコードも
$ cat hello.go package main import "fmt" func main() { for i:=0; i < 0xff; i ++ { if i % 16 == 0 { fmt.Printf("%3d (0x%02x) : %08b\n" ,i,i,i) } } fmt.Printf("...fin\n") }
$ go fmt hello.go
$ cat hello.go package main import "fmt" func main() { for i := 0; i < 0xff; i++ { if i%16 == 0 { fmt.Printf("%3d (0x%02x) : %08b\n", i, i, i) } } fmt.Printf("...fin\n") }
規則に則るので、実行上何の問題もありません。
$ go run hello.go 0 (0x00) : 00000000 16 (0x10) : 00010000 32 (0x20) : 00100000 48 (0x30) : 00110000 64 (0x40) : 01000000 80 (0x50) : 01010000 96 (0x60) : 01100000 112 (0x70) : 01110000 128 (0x80) : 10000000 144 (0x90) : 10010000 160 (0xa0) : 10100000 176 (0xb0) : 10110000 192 (0xc0) : 11000000 208 (0xd0) : 11010000 224 (0xe0) : 11100000 240 (0xf0) : 11110000 ...fin
ある意味、これ自体がGO言語の文化と言えるものなのかも知れません。