From 076a45acd5b8d2ce08a2dbe898dc9228554db92d Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Mon, 12 Oct 2020 14:29:28 +0000 Subject: fmt: explain how Formatter interface affects verbs and flags Formatter is mentioned further down, but it's helpful to add it amongst the verbs and flags. Background: I spent a while puzzling how "%+v" prints a stack trace for github.com/pkg/errors when this isn't documented under 'flags'. Change-Id: Ic70145902a36780147dedca568b3cf482974fc38 GitHub-Last-Rev: 6571b499f211a2266812af66dd3b88dff602cabf GitHub-Pull-Request: golang/go#39860 Reviewed-on: https://go-review.googlesource.com/c/go/+/240000 Reviewed-by: Rob Pike Trust: Rob Pike Trust: Ian Lance Taylor --- src/fmt/print.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/fmt/print.go') 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, -- cgit v1.3