mirror of
https://github.com/golang/go
synced 2024-11-17 08:44:43 -07:00
d75e186e2c
Sometimes when implementing a Formatter it's helpful to use the fmt package without invoking the formatter. This new function, FormatString, makes that easier in some cases by recreating the original formatting directive (such as "%3.2f") that caused Formatter.Format to be called. The original Formatter interface is probably not what we would design today, but we're stuck with it. FormatString, although it takes a State as an argument, compensates by making Formatter a little more flexible. The State does not include the verb so (unlike in the issue), we must provide it explicitly in the call to FormatString. Doing it there minimizes allocations by returning the complete format string. Fixes #51668 Updates #51195 Change-Id: Ie31c8256515864b2f460df45fbd231286b8b7a28 Reviewed-on: https://go-review.googlesource.com/c/go/+/400875 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Russ Cox <rsc@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Run-TryBot: Russ Cox <rsc@golang.org> |
||
---|---|---|
.. | ||
next | ||
except.txt | ||
go1.1.txt | ||
go1.2.txt | ||
go1.3.txt | ||
go1.4.txt | ||
go1.5.txt | ||
go1.6.txt | ||
go1.7.txt | ||
go1.8.txt | ||
go1.9.txt | ||
go1.10.txt | ||
go1.11.txt | ||
go1.12.txt | ||
go1.13.txt | ||
go1.14.txt | ||
go1.15.txt | ||
go1.16.txt | ||
go1.17.txt | ||
go1.18.txt | ||
go1.19.txt | ||
go1.txt | ||
README |
Files in this directory are data for Go's API checker ("go tool api", in src/cmd/api). Each file is a list of API features, one per line. go1.txt (and similarly named files) are frozen once a version has been shipped. Each file adds new lines but does not remove any. except.txt lists features that may disappear without breaking true compatibility. Starting with go1.19.txt, each API feature line must end in "#nnnnn" giving the GitHub issue number of the proposal issue that accepted the new API. This helps with our end-of-cycle audit of new APIs. The same requirement applies to next/* (described below), which will become a go1.XX.txt for XX >= 19. The next/ directory contains the only files intended to be mutated. Each file in that directory contains a list of features that may be added to the next release of Go. The files in this directory only affect the warning output from the go api tool. Each file should be named nnnnn.txt, after the issue number for the accepted proposal. (The #nnnnn suffix must also appear at the end of each line in the file; that will be preserved when next/*.txt is concatenated into go1.XX.txt.)