github.com/AndrienkoAleksandr/go@v0.0.19/src/go/format/example_test.go (about) 1 // Copyright 2018 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package format_test 6 7 import ( 8 "bytes" 9 "fmt" 10 "go/format" 11 "go/parser" 12 "go/token" 13 "log" 14 ) 15 16 func ExampleNode() { 17 const expr = "(6+2*3)/4" 18 19 // parser.ParseExpr parses the argument and returns the 20 // corresponding ast.Node. 21 node, err := parser.ParseExpr(expr) 22 if err != nil { 23 log.Fatal(err) 24 } 25 26 // Create a FileSet for node. Since the node does not come 27 // from a real source file, fset will be empty. 28 fset := token.NewFileSet() 29 30 var buf bytes.Buffer 31 err = format.Node(&buf, fset, node) 32 if err != nil { 33 log.Fatal(err) 34 } 35 36 fmt.Println(buf.String()) 37 38 // Output: (6 + 2*3) / 4 39 }