소스 검색

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)