pkg: a slew of examples

R=golang-dev, gri, r
CC=golang-dev
https://golang.org/cl/5676071
diff --git a/src/pkg/errors/errors_test.go b/src/pkg/errors/errors_test.go
index c537eeb..63c05d7 100644
--- a/src/pkg/errors/errors_test.go
+++ b/src/pkg/errors/errors_test.go
@@ -5,29 +5,49 @@
 package errors_test
 
 import (
-	. "errors"
+	"errors"
+	"fmt"
 	"testing"
 )
 
 func TestNewEqual(t *testing.T) {
 	// Different allocations should not be equal.
-	if New("abc") == New("abc") {
+	if errors.New("abc") == errors.New("abc") {
 		t.Errorf(`New("abc") == New("abc")`)
 	}
-	if New("abc") == New("xyz") {
+	if errors.New("abc") == errors.New("xyz") {
 		t.Errorf(`New("abc") == New("xyz")`)
 	}
 
 	// Same allocation should be equal to itself (not crash).
-	err := New("jkl")
+	err := errors.New("jkl")
 	if err != err {
 		t.Errorf(`err != err`)
 	}
 }
 
 func TestErrorMethod(t *testing.T) {
-	err := New("abc")
+	err := errors.New("abc")
 	if err.Error() != "abc" {
 		t.Errorf(`New("abc").Error() = %q, want %q`, err.Error(), "abc")
 	}
 }
+
+func ExampleNew() {
+	err := errors.New("emit macho dwarf: elf header corrupted")
+	if err != nil {
+		fmt.Print(err)
+	}
+	// Output: emit macho dwarf: elf header corrupted
+}
+
+// The fmt package's Errorf function lets us use the package's formatting
+// features to create descriptive error messages.
+func ExampleNew_errorf() {
+	const name, id = "bimmler", 17
+	err := fmt.Errorf("user %q (id %d) not found", name, id)
+	if err != nil {
+		fmt.Print(err)
+	}
+	// Output: user "bimmler" (id 17) not found
+}