mirror of https://github.com/golang/go.git
This text is added to doc.go:
Explicit argument indexes:
In Printf, Sprintf, and Fprintf, the default behavior is for each
formatting verb to format successive arguments passed in the call.
However, the notation [n] immediately before the verb indicates that the
nth one-indexed argument is to be formatted instead. The same notation
before a '*' for a width or precision selects the argument index holding
the value. After processing a bracketed expression [n], arguments n+1,
n+2, etc. will be processed unless otherwise directed.
For example,
fmt.Sprintf("%[2]d %[1]d\n", 11, 22)
will yield "22, 11", while
fmt.Sprintf("%[3]*[2].*[1]f", 12.0, 2, 6),
equivalent to
fmt.Sprintf("%6.2f", 12.0),
will yield " 12.00". Because an explicit index affects subsequent verbs,
this notation can be used to print the same values multiple times
by resetting the index for the first argument to be repeated:
fmt.Sprintf("%d %d %#[1]x %#x", 16, 17)
will yield "16 17 0x10 0x11".
The notation chosen differs from that in C, but I believe it's easier to read
and to remember (we're indexing the arguments), and compatibility with
C's printf was never a strong goal anyway.
While we're here, change the word "field" to "arg" or "argument" in the
code; it was being misused and was confusing.
R=rsc, bradfitz, rogpeppe, minux.ma, peter.armitage
CC=golang-dev
https://golang.org/cl/9680043
|
||
|---|---|---|
| .. | ||
| articles | ||
| codewalk | ||
| devel | ||
| gopher | ||
| play | ||
| progs | ||
| Makefile | ||
| cmd.html | ||
| code.html | ||
| contrib.html | ||
| contribute.html | ||
| debugging_with_gdb.html | ||
| docs.html | ||
| effective_go.html | ||
| gccgo_contribute.html | ||
| gccgo_install.html | ||
| go-logo-black.png | ||
| go-logo-blue.png | ||
| go-logo-white.png | ||
| go1.1.html | ||
| go1.2.txt | ||
| go1.html | ||
| go1compat.html | ||
| go_faq.html | ||
| go_mem.html | ||
| go_spec.html | ||
| godocs.js | ||
| help.html | ||
| ie.css | ||
| install-source.html | ||
| install.html | ||
| jquery.js | ||
| logo-153x55.png | ||
| reference.html | ||
| root.html | ||
| share.png | ||
| sieve.gif | ||
| style.css | ||
| tos.html | ||