gofmtについて
goに標準で搭載されているコード整形機能のこと。
fmt.Println()
ばかり使っていたのでこの機能を知った時はとても便利な機能があるなと思いました。
例)hogehoge.goのコード
package main
import "fmt"
const (
idKey = "id"
nameKey = "name"
runeKey = 'a'
)
func main() {
for i := 0; i < 10; i++ {
fmt.Println(i)
if i == 5 {
break
}
}
t := 10
fmt.Println(t)
fmt.Println(1 + 1, 2+2)
fmt.Println("1 + 1 =", 1+1)
fmt.Println("10 - 1", 10-1)
fmt.Println("10 / 2", 10/2)
fmt.Println("10 / 3", 10/3)
fmt.Println("10.0 / 3", 10.0/3)
fmt.Println("10 / 3.0", 10/3.0)
fmt.Println("10 % 2", 10%2)
fmt.Println("10 % 3", 10%3)
}
gofmt を使用後表示されるhogehoge.go
お使いのterminalにてgofmt ファイル名
を打ってください。
すると下記のように表示されます。
~~~~~~~~~~~~~~~~~~ % gofmt hogehoge.go
package main
import "fmt"
const (
idKey = "id"
nameKey = "name"
runeKey = 'a'
)
func main() {
for i := 0; i < 10; i++ {
fmt.Println(i)
if i == 5 {
break
}
}
t := 10
fmt.Println(t)
fmt.Println(1+1, 2+2)
fmt.Println("1 + 1 =", 1+1)
fmt.Println("10 - 1", 10-1)
fmt.Println("10 / 2", 10/2)
fmt.Println("10 / 3", 10/3)
fmt.Println("10.0 / 3", 10.0/3)
fmt.Println("10 / 3.0", 10/3.0)
fmt.Println("10 % 2", 10%2)
fmt.Println("10 % 3", 10%3)
}
インデントやスペースを整形してくれるのはもちろんなのですが、constの定数の =
が全て揃える事やfmt.Println(1 + 1, 2+2)
がfmt.Println(1+1, 2+2)
になったのを確認しました。pythonとはまたスタンダードが違うみたいです。
お使いのvscodeでは command + sで整形も設定すれば整形するようになると思うので、拡張機能とか設定をいじってみてください。