mirror of
https://github.com/golang/go
synced 2024-11-18 07:34:53 -07:00
go/format: add format.Node example
Updates #16360 Change-Id: I5927cffa961cd85539a3ba9606b116c5996d1096 Reviewed-on: https://go-review.googlesource.com/26696 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
614dfe9b02
commit
b6f44923c0
@ -6,9 +6,11 @@ package format
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"fmt"
|
||||||
"go/parser"
|
"go/parser"
|
||||||
"go/token"
|
"go/token"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
"log"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
@ -143,3 +145,28 @@ func TestPartial(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ExampleNode() {
|
||||||
|
const expr = "(6+2*3)/4"
|
||||||
|
|
||||||
|
// parser.ParseExpr parses the argument and returns the
|
||||||
|
// corresponding ast.Node.
|
||||||
|
node, err := parser.ParseExpr(expr)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create a FileSet for node. Since the node does not come
|
||||||
|
// from a real source file, fset will be empty.
|
||||||
|
fset := token.NewFileSet()
|
||||||
|
|
||||||
|
var buf bytes.Buffer
|
||||||
|
err = Node(&buf, fset, node)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println(buf.String())
|
||||||
|
|
||||||
|
// Output: (6 + 2*3) / 4
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user