go/gcexportdata: don't assume that fmt names never change

For golang/go#47579

Change-Id: I25a873fb6da216d885c8faefda98c7fe027b6a4f
Reviewed-on: https://go-review.googlesource.com/c/tools/+/406357
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Reviewed-by: Rob Pike <r@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
diff --git a/go/gcexportdata/example_test.go b/go/gcexportdata/example_test.go
index 7df05ab..e81e705 100644
--- a/go/gcexportdata/example_test.go
+++ b/go/gcexportdata/example_test.go
@@ -51,25 +51,37 @@
 		log.Fatal(err)
 	}
 
-	// Print package information.
+	// We can see all the names in Names.
 	members := pkg.Scope().Names()
-	if members[0] == ".inittask" {
-		// An improvement to init handling in 1.13 added ".inittask". Remove so go >= 1.13 and go < 1.13 both pass.
-		members = members[1:]
+	foundPrintln := false
+	for _, member := range members {
+		if member == "Println" {
+			foundPrintln = true
+			break
+		}
 	}
-	fmt.Printf("Package members:    %s...\n", members[:5])
+	fmt.Print("Package members:    ")
+	if foundPrintln {
+		fmt.Println("Println found")
+	} else {
+		fmt.Println("Println not found")
+	}
+
+	// We can also look up a name directly using Lookup.
 	println := pkg.Scope().Lookup("Println")
-	posn := fset.Position(println.Pos())
-	posn.Line = 123                                                          // make example deterministic
-	typ := strings.ReplaceAll(println.Type().String(), "interface{}", "any") // go 1.18+ uses the 'any' alias
+	// go 1.18+ uses the 'any' alias
+	typ := strings.ReplaceAll(println.Type().String(), "interface{}", "any")
 	fmt.Printf("Println type:       %s\n", typ)
+	posn := fset.Position(println.Pos())
+	// make example deterministic
+	posn.Line = 123
 	fmt.Printf("Println location:   %s\n", slashify(posn))
 
 	// Output:
 	//
 	// Package path:       fmt
 	// Export data:        fmt.a
-	// Package members:    [Errorf Formatter Fprint Fprintf Fprintln]...
+	// Package members:    Println found
 	// Println type:       func(a ...any) (n int, err error)
 	// Println location:   $GOROOT/src/fmt/print.go:123:1
 }