Go言語でファイルにコードを書いた時、インデントの位置であるとか、スペースが統一してなかったりすることがあります。
これを修正してくれるのが、gofmtコマンドです。
gofmt
gofmtの使い方を見て行きましょう。
適当なコードを用意します。なんでもいいのですけど、以前使ったこちらにあるコードでやってみます。
この中のコードのmycalg.goファイルを、以下のようにスペースなどを入れて、おかしな書き方にしておきます。
package mypkg
import "fmt"
func Rectangle(l int, m int) int {
return l * m
}
func Intro() {
fmt.Println ("これはmypkgです。" )
}
インデントやスペース、ブロックの書き方などが乱れているのがわかると思います。
これを修正してくれるのが、gofmtコマンドです。
次のような形でターミナルから使います。
gofmt 対象のgoファイル
実際に上のコードを実行してみます。
cd mypkg
gofmt mycalc.go
ファイルのあるディレクトリに移動して、コマンドを実行しています。
次のようにターミナル上の表示されます。
% cd mypkg
% gofmt mycalc.go
package mypkg
import "fmt"
func Rectangle(l int, m int) int {
return l * m
}
func Intro() {
fmt.Println("これはmypkgです。")
}
整頓された形でコードが表示されているのがわかります。
これをもとに乱れたファイルを整えることができます。
エディタの機能では…
ちなみに、コマンドに次のように -w のオプションを使うとファイルのコードを整形してくれます。
gofmt -w 対象のgoファイル
ですが、ここでは(というか私の作業環境では)Visual Studio Codeを使ってGo言語の拡張機能を使っています。
設定によって、これらのコマンドを利用しなくても、ファイルを保存した時に自動的に整形してくれる機能があります。
ですから、こういったコマンドは利用する機会は無いですね。
Go playground には、操作メニューのところに「Format」というボタンがあります。
このように、利用しているエディタなどで工夫されてるものもあるので、特に使わないで済むコマンドかもしれません。
最後に
Go言語のgofmtコマンドを扱いました。
gofmtコマンドをファイルを指定して実行すると、ファイル内のコードの乱れた部分などを自動的に整形してコードを修正することができます。
ただし、VScodeなどのエディタの拡張機能を利用すると、このコマンドを使わなくてもファイルの保存時などに自動的に整えてくれるものもあります。