mirror of
https://github.com/golang/go
synced 2024-11-24 19:20:03 -07:00
fmt: allow "% X" as well as "% x"
R=rsc, cw, PeterGo CC=golang-dev https://golang.org/cl/3319042
This commit is contained in:
parent
abb0c0967c
commit
d90d0ede3f
@ -58,7 +58,7 @@
|
||||
0X for hex (%#X); suppress 0x for %p (%#p);
|
||||
print a raw (backquoted) string if possible for %q (%#q)
|
||||
' ' (space) leave a space for elided sign in numbers (% d);
|
||||
put spaces between bytes printing strings or slices in hex (% x)
|
||||
put spaces between bytes printing strings or slices in hex (% x, % X)
|
||||
0 pad with leading zeros rather than spaces
|
||||
|
||||
For each Printf-like function, there is also a Print function
|
||||
|
@ -121,7 +121,8 @@ var fmttests = []fmtTest{
|
||||
// basic bytes
|
||||
{"%s", []byte("abc"), "abc"},
|
||||
{"%x", []byte("abc"), "616263"},
|
||||
{"% x", []byte("abc"), "61 62 63"},
|
||||
{"% x", []byte("abc\xff"), "61 62 63 ff"},
|
||||
{"% X", []byte("abc\xff"), "61 62 63 FF"},
|
||||
{"%x", []byte("xyz"), "78797a"},
|
||||
{"%X", []byte("xyz"), "78797A"},
|
||||
{"%q", []byte("abc"), `"abc"`},
|
||||
|
@ -255,6 +255,9 @@ func (f *fmt) fmt_sx(s string) {
|
||||
func (f *fmt) fmt_sX(s string) {
|
||||
t := ""
|
||||
for i := 0; i < len(s); i++ {
|
||||
if i > 0 && f.space {
|
||||
t += " "
|
||||
}
|
||||
v := s[i]
|
||||
t += string(udigits[v>>4])
|
||||
t += string(udigits[v&0xF])
|
||||
|
Loading…
Reference in New Issue
Block a user