summaryrefslogtreecommitdiff
path: root/src/fmt
diff options
context:
space:
mode:
authorCherry Zhang <cherryyz@google.com>2020-10-28 09:12:20 -0400
committerCherry Zhang <cherryyz@google.com>2020-10-28 09:12:20 -0400
commita16e30d162c1c7408db7821e7b9513cefa09c6ca (patch)
treeaf752ba9ba44c547df39bb0af9bff79f610ba9d5 /src/fmt
parent91e4d2d57bc341dd82c98247117114c851380aef (diff)
parentcf6cfba4d5358404dd890f6025e573a4b2156543 (diff)
downloadgo-git-dev.link.tar.gz
[dev.link] all: merge branch 'master' into dev.linkdev.link
Clean merge. Change-Id: Ia7b2808bc649790198d34c226a61d9e569084dc5
Diffstat (limited to 'src/fmt')
-rw-r--r--src/fmt/doc.go3
-rw-r--r--src/fmt/print.go8
2 files changed, 6 insertions, 5 deletions
diff --git a/src/fmt/doc.go b/src/fmt/doc.go
index a7115809d3..d05ee519c3 100644
--- a/src/fmt/doc.go
+++ b/src/fmt/doc.go
@@ -150,7 +150,8 @@
concrete value that it holds, and printing continues with the next rule.
2. If an operand implements the Formatter interface, it will
- be invoked. Formatter provides fine control of formatting.
+ be invoked. In this case the interpretation of verbs and flags is
+ controlled by that implementation.
3. If the %v verb is used with the # flag (%#v) and the operand
implements the GoStringer interface, that will be invoked.
diff --git a/src/fmt/print.go b/src/fmt/print.go
index 778b5b0938..8bc225f548 100644
--- a/src/fmt/print.go
+++ b/src/fmt/print.go
@@ -47,11 +47,11 @@ type State interface {
Flag(c int) bool
}
-// Formatter is the interface implemented by values with a custom formatter.
-// The implementation of Format may call Sprint(f) or Fprint(f) etc.
-// to generate its output.
+// Formatter is implemented by any value that has a Format method.
+// The implementation controls how State and rune are interpreted,
+// and may call Sprint(f) or Fprint(f) etc. to generate its output.
type Formatter interface {
- Format(f State, c rune)
+ Format(f State, verb rune)
}
// Stringer is implemented by any value that has a String method,