go fmt

suggest change

Search: gofmt

Id: 323

SOId: 17008

To keep code consistent and eliminate arguments over code formatting, Go includes go fmt tool.

To format a file: go fmt main.go

Or all files in a directory: go fmt myProject

You can also use gofmt -s (not go fmt) to attempt to simplify code whenever possible.

gofmt (not go fmt) can also be used to refactor code. It understands Go syntax so it is more powerful than a search and replace. For example, given this program (main.go):

package main

type Example struct {
    Name string

func (e *Example) Original(name string) {
    e.Name = name

func main() {
    e := &Example{"Hello"}

You can replace the method Original with Refactor with gofmt:

$ gofmt -r 'Original -> Refactor' -d main.go

Which will produce the diff:

-func (e *Example) Original(name string) {
+func (e *Example) Refactor(name string) {
        e.Name = name

    func main() {
        e := &Example{"Hello"}
-    e.Original("Goodbye")
+    e.Refactor("Goodbye")

Feedback about page:

Optional: your email if you want me to get back to you:

Table Of Contents