...

Source file src/go/parser/example_test.go

Documentation: go/parser

		 1  // Copyright 2012 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 parser_test
		 6  
		 7  import (
		 8  	"fmt"
		 9  	"go/parser"
		10  	"go/token"
		11  )
		12  
		13  func ExampleParseFile() {
		14  	fset := token.NewFileSet() // positions are relative to fset
		15  
		16  	src := `package foo
		17  
		18  import (
		19  	"fmt"
		20  	"time"
		21  )
		22  
		23  func bar() {
		24  	fmt.Println(time.Now())
		25  }`
		26  
		27  	// Parse src but stop after processing the imports.
		28  	f, err := parser.ParseFile(fset, "", src, parser.ImportsOnly)
		29  	if err != nil {
		30  		fmt.Println(err)
		31  		return
		32  	}
		33  
		34  	// Print the imports from the file's AST.
		35  	for _, s := range f.Imports {
		36  		fmt.Println(s.Path.Value)
		37  	}
		38  
		39  	// output:
		40  	//
		41  	// "fmt"
		42  	// "time"
		43  }
		44  

View as plain text