浏览代码

Modify printInt and printUint to accept base.

This paves the way to improve how byte arrays are output as well as
increases the flexibily of the functions.
Dave Collins 12 年之前
父节点
当前提交
471552e81e
共有 3 个文件被更改,包括 8 次插入8 次删除
  1. 4 4
      spew/common.go
  2. 2 2
      spew/dump.go
  3. 2 2
      spew/format.go

+ 4 - 4
spew/common.go

@@ -186,13 +186,13 @@ func printBool(w io.Writer, val bool) {
 }
 
 // printInt outputs a signed integer value to Writer w.
-func printInt(w io.Writer, val int64) {
-	w.Write([]byte(strconv.FormatInt(val, 10)))
+func printInt(w io.Writer, val int64, base int) {
+	w.Write([]byte(strconv.FormatInt(val, base)))
 }
 
 // printUint outputs an unsigned integer value to Writer w.
-func printUint(w io.Writer, val uint64) {
-	w.Write([]byte(strconv.FormatUint(val, 10)))
+func printUint(w io.Writer, val uint64, base int) {
+	w.Write([]byte(strconv.FormatUint(val, base)))
 }
 
 // printFloat outputs a floating point value using the specified precision,

+ 2 - 2
spew/dump.go

@@ -182,10 +182,10 @@ func (d *dumpState) dump(v reflect.Value) {
 		printBool(d.w, v.Bool())
 
 	case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int:
-		printInt(d.w, v.Int())
+		printInt(d.w, v.Int(), 10)
 
 	case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint:
-		printUint(d.w, v.Uint())
+		printUint(d.w, v.Uint(), 10)
 
 	case reflect.Float32:
 		printFloat(d.w, v.Float(), 32)

+ 2 - 2
spew/format.go

@@ -237,10 +237,10 @@ func (f *formatState) format(v reflect.Value) {
 		printBool(f.fs, v.Bool())
 
 	case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int:
-		printInt(f.fs, v.Int())
+		printInt(f.fs, v.Int(), 10)
 
 	case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint:
-		printUint(f.fs, v.Uint())
+		printUint(f.fs, v.Uint(), 10)
 
 	case reflect.Float32:
 		printFloat(f.fs, v.Float(), 32)